
- 깃허브 등의 저장소에 저장해 둔 애플리케이션 소스를 내려받아 도커 컨테이너 이미지로 빌드합니다.
- 빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록합니다.
- 레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성합니다.
- 생성한 오브젝트(파드/디플로이먼트)를 외부에서 접속할 수 있도록 서비스 형태를 노출합니다.
이러한 과정을 파이프 라인이라고 합니다.
지속적 통합 (CI / Continuous Integration)
지속적 배포 (CD / Continuous Deployment)

- 개발자가 소스를 커밋(commit) 하고 푸시(push) 하면 CI 단계로 들어갑니다.
- CI 단계에서는 애플리케이션이 자동 빌드되고 테스트를 거쳐 배포할 수 있는 애플리케이션인지 확인합니다.
- 테스트를 통과하면 신뢰할 수 있는 애플리케이션으로 간주하고 CD 단계로 넘어갑니다.
- CD 단계에서는 애플리케이션을 컨테이너 이미지로 만들어서 파드, 디플로이먼트, 스테이트풀셋 등 다양한 오브젝트 조건에 맞춰 미리 설정한 파일을 통해 배포합니다.
CI/CD 도구들
- TeamCity
- Github Action
- Bamboo
- Jenkins
컨테이너 인프라 환경에서 젠킨스를 사용하는 주된 이유는 애플리케애션을 컨테이너로 만들고 배포하는 과정을 자동화하기 위해서입니다.
동적인 변경 사항을 간편하고 빠르게 적용할 수 있도록 도와주는 도구가 두 가지 있습니다.
하나는 커스터마이즈(kustomize)이고, 다른 하나는 헬름(Helm) 입니다.