
158
자바 개발자를 위한 데브옵스 툴
협업이 늘어남에 따라 소프트웨어 전달 라이프 사이클을 망가뜨리고 프로젝트 일정을 위태롭
게 만드는 합병증도 곳곳에서 발생한다. 이번 장은 이러한 위협에 대항해 지속적 통합을 구현
하는 방법에 대해 설명하고, 모범 사례와 관련 툴까지 함께 소개한다. 배포 프로젝트와 소프트
웨어 전달 경로에 흔히 나타나는 장애물과 골칫거리를 회피하거나 완화하는 방법을 배우게 될
것이다.
5.1
도입 타당성 도입 타당성
지속적 통합지속적 통합
continuous
integration
(
CI
)에 대한 가장 일반적인 정의는, 여러 기여자의 코드 변경 사
항을 프로젝트의 메인 소스 코드 리포지터리에 수시로 통합하는 것이다. 이 정의 자체는 약간
모호한 구석이 있다.
수시수시
frequently
란 얼마나 잦은 빈도인가? 통합이란 문맥적으로 정확히 어떤
의미인가? 리포지터리에 푸시되는 소스 코드를 조율하기만 하면 충분한가? 무엇보다, 이 프로
세스가 해결하는 문제는 무엇인가? 이 기술을 채택하면 어떤 이득이 있는가?
CI
라는 개념은 꽤 오래전부터 존재했다. 마틴 파울러
2
의 정의에 따르면
지속적 통합지속적 통합
이라는 용
어는 익스트림 프로그래밍
3
의
12
가지 관행 중 하나에서 유래했다.
CI
는 오늘날 모든 데브옵스
커뮤니티에서 일상적으로 언급될 정도로 널리 ...