Delivery Pipeline

CI/CD는 이미지 버전과 Kubernetes 롤아웃을 연결한다

컨테이너 배포 파이프라인은 코드 변경을 이미지 digest와 태그로 고정하고, Kubernetes Deployment가 새 ReplicaSet으로 점진 교체하게 만든다.

Git SHA 기반 태그는 코드와 이미지의 추적성을 만든다
보안 스캔과 테스트는 registry push 전에 실패를 잡는다
Deployment rollout은 새 Pod를 만들고 헬스 체크 후 기존 Pod를 줄인다
1. Commit

코드 변경

테스트와 빌드가 같은 commit SHA를 기준으로 시작된다. GIT_SHA=9f31c2a
2. Build & Scan

이미지 생성

멀티 스테이지 빌드, 단위 테스트, 취약점 스캔을 거친다. docker build -t app:$GIT_SHA
3. Registry

태그와 digest 저장

클러스터는 registry에서 불변 digest 또는 고정 태그 이미지를 가져온다. registry/app@sha256:...
4. Rollout

Deployment 업데이트

새 ReplicaSet을 만들고 readiness를 확인하며 Pod를 점진 교체한다. kubectl rollout status deploy/app
추적성

commit → image → rollout

문제가 생기면 어떤 코드와 이미지가 배포됐는지 역추적할 수 있다.

안전장치

readiness + rollback

새 Pod가 준비되지 않으면 트래픽을 받지 않고 이전 ReplicaSet으로 되돌릴 수 있다.

자동화

선언적 배포

파이프라인은 원하는 이미지 버전을 선언하고 컨트롤러가 실제 상태를 맞춘다.