어플리케이션 개발 단계부터 배포 때까지 이 모든 단계들을 자동화를 통해서 조금 더 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있도록 만드는 것을 말한다.
Continuous Intergration ( 지속적인 통합 )
Continuous Delivery ( 지속적인 제공 )
Continuous Deployment ( 지속적인 배포 )
주요 버그 수정이나 새로 만드는 기능들이 main repository에 주기적으로 빌드되고 테스트가 되어서 merge 되는 것을 말한다.
- 작은 단위로 나누어서 main repository에 병합하거나 배포할 방법을 고민해야한다.
머지 하면 수정사항이 자동으로 빌드 되고 버그가 있는지 테스트까지 자동으로 되어야한다.
변경사항 확인 후 repository에 merge ->
자동으로 CI Script 를 통해 CI Server에서 build 하고 test 한다.
준비된 Release를 검증하여 Release를 배포하는 단계를 자동화 하는 것!
CODE => BUILD => TEST => RELEASE => DEPLOY
Jenkins - Buildkite
GitHub Actions
GitLab CI/CD
Bitbucket Pipelines
circleci
#Ref)