본문 바로가기

DevOps

그래서 CI/CD란? - 지속적 통합, 지속적 배포 :: DANIDANI

CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 제공하는 방법입니다.


CI = Continuous Integration(지속적 통합)

  • 여러 명이 개발자가 작업할 경우 코드 변경 사항이 발생될 때마다 자동으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 충돌할 수 있는 문제를 해결할 수 있습니다.
  • 코드 품질 개선과 유지보수를 위해서 중요합니다.
  • 코드를 git에 올리면 자동으로 빌드, 테스트를 진행하고 결과를 슬랙이나 이메일등으로 보낼 수 있습니다.

CD = Continuous Deployment(지속적 배포) 또는 Continuous Delivery(지속적 서비스 제공)

  • 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 환경까지 자동으로 릴리스하는 것을 의미합니다.
  • 짧은 주기로 배포를 진행할때 잘 구축된 CD 프로세스는 개발 시간을 단축해주고 생산성을 올려줍니다.

 

즉, CI 프로세스로 개발 중 소스가 변경될 때마다 지속적으로 빌드와 테스트를 진행하고

통과된 소스에 대해서 즉시 배포를 진행하는 것이 CI/CD 라고 보면 되겠습니다.

 

CI/CD 자동화를 쉽게 하도록 도와주는 솔루션들이 있는데 대표적으로 Jenkins, CircleCI, travisCI등이 있습니다.

 

728x90