5.1 컨테이너 인프라 환경에서 CI/CD

estar987·2023년 9월 18일

Kubernetes

목록 보기
49/64

  1. 깃허브 등의 저장소에 저장해 둔 애플리케이션 소스를 내려받아 도커 컨테이너 이미지로 빌드합니다.
  2. 빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록합니다.
  3. 레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성합니다.
  4. 생성한 오브젝트(파드/디플로이먼트)를 외부에서 접속할 수 있도록 서비스 형태를 노출합니다.

이러한 과정을 파이프 라인이라고 합니다.
지속적 통합 (CI / Continuous Integration)
지속적 배포 (CD / Continuous Deployment)

  • 개발자가 소스를 커밋(commit) 하고 푸시(push) 하면 CI 단계로 들어갑니다.
  • CI 단계에서는 애플리케이션이 자동 빌드되고 테스트를 거쳐 배포할 수 있는 애플리케이션인지 확인합니다.
  • 테스트를 통과하면 신뢰할 수 있는 애플리케이션으로 간주하고 CD 단계로 넘어갑니다.
  • CD 단계에서는 애플리케이션을 컨테이너 이미지로 만들어서 파드, 디플로이먼트, 스테이트풀셋 등 다양한 오브젝트 조건에 맞춰 미리 설정한 파일을 통해 배포합니다.

CI/CD 도구들

  • TeamCity
  • Github Action
  • Bamboo
  • Jenkins

컨테이너 인프라 환경에서 젠킨스를 사용하는 주된 이유는 애플리케애션을 컨테이너로 만들고 배포하는 과정을 자동화하기 위해서입니다.

동적인 변경 사항을 간편하고 빠르게 적용할 수 있도록 도와주는 도구가 두 가지 있습니다.
하나는 커스터마이즈(kustomize)이고, 다른 하나는 헬름(Helm) 입니다.

profile
System / Cloud / DevOps Engineer

0개의 댓글