반응형
CI
CI(Continuous Integration) 즉 지속적인 통합(병합)을 의미합니다.
- 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레포지토리에 통합되는 것을 의미
- 보통 형상관리툴(Git, SVN 등)을 사용하는데, 기능 추가할 때마다 commit으로 레포지토리에 업데이트를 하게됨
- 업데이트될 때마다 빌드/테스트/병합하기엔 번거로움이 있음
자동화된 빌드&테스트는 원천 소스코드의 충돌을 미리 방지하는데 있습니다. 따라서, CI의 핵심 목표는 아래와 같습니다.
- 버그를 신속하게 찾아서 해결
- 소프트웨어의 품질개선
- 새로운 업데이트의 검증 및 릴리즈 시간의 단축
CD
CD(Continuous Delivery or Continuous Deployment)로 지속적인 서비스제공 or 지속적인 배포라는 2개의 의미를 가지고 있습니다.
- Continuous Delivery: 공유 레포지토리를 자동으로 릴리즈 해주는 것.
- Continuous Deployment: Production(배포)까지 자동으로 배포해주는 것.
CI는 새로운 소스코드의 빌드, 테스트, 병합까지를
CD는 개발자의 변경사항이 레포지토리와 고객의 배포 환경까지 릴리즈는 되는 것을 의미합니다.
반응형