CI/CD?

어플리케이션 개발 단계부터 배포때까지 모든 단계를 자동화를 통해서 조금 더 효율적이고 빠르게 배포할 수 있도록 만드는 것

CI(Continuous Integration) - 지속적인 통합

버그 수정, 새로 만드는 기능들이 메인 레파지토리에 반영되고 머지되는 것

  • 두가지를 포인트로 잡자.
  1. 개발자들은 코드 변경사항을 주기적으로 빈번하게 머지해야 한다.
  2. 통합을 위한 단계 (빌드, 테스트, 머지)의 자동화
    • 코드 변경사항 이후에도 빌드가 성공적으로 되는지,
    • 기존 시스템의 다른 버그를 초래하지는 않는지 자동으로 테스트
  • 장점?
    • 개발 생산성 향상
    • 문제점을 빠르게 발견
    • 버그 수정 용이
    • 코드의 퀄리티 향상

CD(Continuous Delivery/Deployment) - 지속적인 제공/배포

  • CI(Build, Test) -> Prepare Release -> Deploy Release
  • CI를 통해서 주기적으로 머지되고 빌드되고 배포된 코드들이 배포 준비가 되면, 수동으로 배포한다. -> 이 때 delivery 개념을 사용

  • 배포까지 자동으로 될 때는 Deployment 개념을 사용

  • Code -> Build -> Test -> Release -> Deploy


profile
이것저것 끄적이는 것을 좋아합니다 :)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN