Docker를 이용한 지속적 통합

Docker를 이용한 지속적 통합 (Continuous integration with Docker)

지속적 통합(CI)은 개발 과정에서 코드 변경을 프로젝트 메인 브랜치에 병합하려는 단계예요. 이 시점에 개발 팀은 테스트와 빌드(코드 변경이 원치 않는·예상치 못한 동작을 일으키지 않는지 검증)를 실행해요.

출처: 문서

본문

개발의 이 단계에서 애플리케이션을 컨테이너 이미지로 패키징하지 않더라도 Docker를 활용할 수 있는 여러 방법이 있어요.

빌드 환경으로서의 Docker (Docker as a build environment)

컨테이너는 재현 가능하고 격리된 환경이라 예측 가능한 결과를 만들어요. Docker 컨테이너 안에서 애플리케이션을 빌드하고 테스트하면 예상치 못한 동작을 방지하기 쉬워져요. Dockerfile로 프로그래밍 런타임, 운영체제, 바이너리 등을 포함한 빌드 환경의 정확한 요구사항을 정의할 수 있어요.

Docker로 빌드 환경을 관리하면 유지보수도 쉬워져요. 예를 들어 프로그래밍 런타임을 새 버전으로 업데이트하는 것은 Dockerfile의 태그나 다이제스트를 바꾸는 것만큼 간단해져요. 매번 SSH로 VM에 접속해 더 새로운 버전을 재설치하고 관련 설정을 업데이트할 필요가 없어요.

이어서

Docker를 CI에 활용하는 방법에는 다음 주제들이 있어요:

  • 빌드 환경 구성
  • 테스트 실행
  • 산출물 생성

자세한 내용은 GitHub Actions 등 CI 플랫폼별 가이드를 참고해요.

더 알아보기 (Learn more)