CI/CD란 무엇일까?(개발 프로세스)

HYEONGWOO IM·2023년 6월 3일
0

CI/CD

어플리케이션 개발 단계부터 배포 단계까지 효율적이고 빠르게 배포할 수 있도록 만드는것
CI(Continuous Integration) = 지속적인 통합
CD(Continuous Delivery) = 지속적인 제공
또는(Continuous Deployment) = 지속적인 배포 로도 불림

CI

버그 수정 or 새로 만든 기능들이 main repo에 build되고 test되어서 merge되는 것.
Point 1. 코드 변경사항을 주기적으로 빈번하게 머지해야 한다.
Point 2. 통합을 위한 단계(빌드, 테스트, 머지)의 자동화

스크립트를 통해 빌드 -> 테스트가 자동으로 진행 됨.
장점 : 주기적으로 머지하기 때문에 충돌을 피할 수 있고 머지되는 코드는 자동으로 빌드되고 테스트되기 때문에 문제점을 빠르게 발견할 수 있어 버그 수정도 용이해짐. 최종적으로 코드의 퀄리티가 향상됨.

CD

CI를 통해 자동으로 빌드, 테스트 되었다면 배포하는 단계에서 검증팀이 검증을 통해 배포를 해도 될것 같다. 라는 순서가 Delivery 이것을 자동화 한것이 Deployment.

CICD 툴 -> Buildkite, GitHub Actions, GitLab CI/CD 등 다양하지만 회사마다 사용하는 툴이 다르기 때문에 해당 툴에 대해서 공부해야 함.

0개의 댓글