107
6장 상용배포
다. 자동화나 속도가 부족하면 시간을 낭비하게 되지만, 이보다 더 중요한 점은 개발 팀이 테스
트와 배포를 자주 하지 못하게 된다는 사실이다. 결과적으로 버그 발견이나 설계 방향 결정에
지연을 불러와 상용에 반영할 수 없는 상황에 처할 수 있다.
극단적인 경우, 개발 팀은 몇 개월 동안 수행한 프로젝트 결과물을 상용 인프라의 요구사항을
충족하지 못한 채 배포 팀에 전달하게 되고, 배포 팀은 배포 불가로 판정할 수 있다. 또한 배포
빈도가 낮다는 것은 배포 단위가 더 커져 관리하기가 더 어렵다는 것을 의미한다. 한 번에 많은
변경 사항을 배포한 후 시스템이 원하는 방식으로 작동하지 않을 경우, 문제의 원인을 격리하
는 데 더 많은 시간이 들어간다.
소프트웨어 엔지니어링 분야에서 지속적 통합에 가장 널리 사용되는 도구는 젠킨스
Jenkins
다. 젠
킨스는 프로그래밍 언어나 테스트 프레임워크 등에 관계없이
CI
/
CD
파이프라인을 구축할 수
있는 매우 유연한 개발 시스템이다. 다른 솔루션도 많지만, 데이터 사이언스 분야에서도 젠킨
스를
CI
/
CD
파이프라인을 조율하는 데 사용할 수 있다.
6.3
배포 전략
배포 파이프라인을 속속들이 이해하려면 일관되지 않게 사용되거나 자주 혼동되는 개념을 구
별해야 한다.
통합
Integration
중앙 리포지토리
repository
에 대한 기여
contribution
부분을 병합(일반적으로 개별 기능에 대한
Git
분
기를
main
분기에 병합함)하고 다소 복잡한 테스트를 수행하는 프로세스다.
전달