[ CS ] CI / CD






CI / CD


CI : continous Integration : 지속적 통합

두 가지 포인트가 있다.

  • 코드 변경사항을 주기적으로 빈번하게 머지해야한다
  • 통합을 위한 단계(빌드, 테스트, 머지)의 자동화
    • 코드리뷰까지 마친 코드들을 개발자들이 계속해서 merge한다
    • 자동으로 팀에서 만든 CI script를 통해서 repo빌드한다
    • 빌드가 되면 이런저런 테스트코드를 실행하고 통과하면 green, 에러나면 red사인이 발생한다.



CI원칙을 지켰을때 장점은 ?

  • 개발 향상성 향상
  • 문제를 조기에 빠르게 발견
  • 버그 수정 용이
  • 코드 퀄리티 향상( 대신 test코드 작성이 필수!)





CD : continuous Delivery (Deployment) : 지속적 제공

CI가 끝나고 릴리즈를 준비하고 릴리즈를 배포하는 과정.

릴리즈를 준비하고 배포하는 중간에서 자동으로 배포되는지 수동으로 배포되는지에 따라

deployment인지 delivery인지 결정된다.

자동으로 배포된다면 continuous Deployment이고

수동으로 배포된다면 continuous Delivery이다.





대표적인 CI/CD 툴

  • Jenkins
  • Buildkite
  • Gitlab CI/CD
  • Github Actions
  • Bitbucket pipelines





© 2018. by sora

Powered by sora