CI & CD

Updated:

CI 와 CD

CI (Continuous Integration, 지속적 통합)

CI는 빌드와 테스트를 자동화해서 공유 저장소에 병합시키는 프로세스를 말한다. git과 같은 버전관리 시스템을 사용할때 여러명의 개발자가 하나의 공유 저장소를 사용하는 경우가 많다. 이렇게 되면 새로운 코드의 변경사항이 저장소에 통합되지 않을때 충돌이 일어날 수 있다. 따라서 빌드/테스트 자동화부터 코드의 일관성을 제공하기 때문에 통합한다는 용어를 사용한다.

CD (Continueous Delivery/Deploy , 지속적 전달 / 배포)

CD는 CI의 빌드/테스트를 통해 정상적으로 수행됨을 확인하면 배포를 수동으로 하느냐 자동으로 하느냐 두가지로 나뉜다.

  • 지속적 전달 : 프로덕션 배포를 위한 상태가 되고 배포 자체는 수동으로 실행한다.
    • 개발팀과 비즈니스팀과의 커뮤니케이션 부족 문제를 해결한다.
  • 지속적 배포 : 프로덕션까지 자동으로 배포한다.
    • 어플리케이션의 제공 속도를 증가시킨다.

CI/CD의 대표적인 서비스로 Jenkins, Travis CI, Circle CI등이 있으며 다이어그램으로보면 아래와 같다.

IMAGE

출처 :

Tags:

Categories:

Updated:

Leave a comment