CI/CD
어플리케이션 개발 단계부터 배포까지의 단계들을 자동화를 통해 효율적이고 빠르게 배포 가능하도록 하는 기능
CI(Continuous Integration)
- 지속적인 통합
- 빌드(build), 테스트(test), 머지(merge)의 자동화
- 주기적으로 main repository에 build, test 되어 merge 되는 방식
- 개발자는 코드 변경사항을 '주기적'으로 빈번하게 머지해야한다!
CD(Continuous Delivery / Deployment)
- 지속적인 제공(delivery) / 배포(deployment)
- Release-Deploy-Operate
- Continuous Delivery(지속적인 제공) : CI단계 + 배포 준비(release) 후 수동적인 검증 및 배포가
이루어진다.
- Continuous Deployment(지속적인 배포) : CI단계 + 배포 준비(release) + 배포 모든 과정을 자동화 한다.
CI/CD 장점
- 머지 충돌을 피할 수 있어 개발의 생산성을 높인다.
- 문제점을 빠르게 발견할 수 있고, 빠르게 수정이 가능하다.
- 주기적으로 이루어지기 때문에 빠른 처리를 하게 된다.
- 코드 퀄리티가 향상된다.
- 수동적이고 반복적인 작업을 자동화하므로 시간 절약을 할 수 있다.
🔗 이미지출처
- Jenkins
- Buildkite
- Github action
- Bitbucket Pipelines
- Circleci
..