CI / CD

EricHan·2022년 8월 25일
0
post-thumbnail

CI 와 CD는

Continuous Integration /

Continuous Delivery , Continuous Deployment
의 약자로써,

CI는 지속적인 통합
CD는 지속적인 제공/ 지속적인 배포 를 뜻한다.

CI/CD 는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법이다.
또한, 새로운 코드의 통합으로 인하여 개발 및 운영팀에 발생하는 문제를 해결하는 해결책으로도 쓰인다.

각각의 개별적인 특징으로는

CI (지속적 통합)

  • 정기적인 빌드 자동화, 유닛 및 통합 테스트를 거쳐 레포지토리에 머지까지 되는 프로세스
  • 지속적으로 코드 통합을 하며 품질을 유지함
  • 기존 코드와 변경 사항과 충돌이 발견되면 버그를 빠르게 해결 가능

CD(지속적 서비스 제공)

  • 유효한 코드를 레포지토리에 자동 릴리즈하는 프로세스
  • 목적: 프로덕션 환경으로 배포할 준비가 되어있는 코드 베이스 확보

(지속적 배포)

  • 애플리케이션을 프로덕션으로 릴리스하는 작업을 자동화하는 프로세스
  • 개발자가 애플리케이션에 변경 사항을 작성한 후 몇 분 이내에 애플리케이션을 자동으로 실행할 수 있는 것

CI/CD 제공 툴은 대표적으로

Jenkins와 Bamboo가 있다.

Jenkins는 무료이고 사용자와 정보가 많고,
(일정 서비스만 무료)
Remote Access API 를 제공하므로 다른 솔루션에서 연계하여 기능 확장이 가능하다는 특징이 있다.

Bamboo는 직관적인 UI를 가지고 있고, 많은 툴에서 개봘 환경을 지원한다.(MS의 Visual Studio, Mac OSX 의 XCode 등 Java 등)

profile
desarollitor

0개의 댓글