Jenkins·GitHub Actions·GitLab CI·Kubernetes·Argo CD 실전
ParcelTrack의 동일 artifact digest를 온프레미스부터 클라우드까지 검증·승격하고 canary와 rollback 증거로 운영한다.
상태: 출간 후보 웹교정쇄 · 12개 자동 테스트·QA 통과 · 플랫폼·SRE·실배포 감수 대기 · 40개 장
배포 자동화는 명령을 빠르게 실행하는 일이 아니다. 어떤 source를 누가 검토했고, 무엇을 시험했으며, 어느 artifact가 어떤 승인으로 어디에 배포됐고, 실패하면 얼마나 빨리 어떤 버전으로 돌아갈지를 재현하는 일이다. 이 책은 배송 조회 서비스 ParcelTrack을 온프레미스 서버에서 시작해 VM, container, Kubernetes, cloud, GitOps로 옮긴다. 도구는 달라져도 build once, promote by digest, prove every decision이라는 전달 계약은 유지한다.
기준일은 2026년 8월 15일이다. 제품의 메뉴와 runner image는 계속 바뀐다. Jenkins Pipeline, GitHub Actions, GitLab CI/CD, Kubernetes Deployment, Argo CD의 현재 공식 문서를 실제 도입 시점에 다시 확인한다.
성공한 pipeline은 초록색 화면이 아니라 source SHA, artifact digest, 시험·승인·배포·관측·롤백 증거가 연결된 변경 기록이다.
목차
- 1장. CI, Continuous Delivery, Deployment를 구분한다
- 2장. 릴리스 가치 흐름과 책임을 그린다
- 3장. ParcelTrack 릴리스 계약을 먼저 만든다
- 4장. 저장소와 branch 보호를 CI의 앞문으로 둔다
- 5장. Pipeline as Code를 단일 진실원으로 만든다
- 6장. Build Once와 artifact identity를 지킨다
- 7장. 재현 가능한 build의 변수를 줄인다
- 8장. Test stage를 빠른 실패 순서로 배치한다
- 9장. Secret 없는 cloud 인증에 OIDC를 쓴다
- 10장. SBOM과 provenance를 릴리스 증거로 붙인다
- 11장. Jenkins controller와 agent를 분리한다
- 12장. Declarative Jenkinsfile을 운영 가능하게 쓴다
- 13장. Jenkins Shared Library의 경계를 정한다
- 14장. Jenkins 장애를 queue·agent·plugin으로 분해한다
- 15장. GitHub Actions permission을 최소화한다
- 16장. GitHub environment를 운영 승인 경계로 쓴다
- 17장. Reusable Workflow를 API처럼 관리한다
- 18장. GitLab pipeline의 stage와 needs를 구분한다
- 19장. GitLab Runner를 신뢰 구역별로 나눈다
- 20장. GitLab environment와 manual gate를 기록한다
- 21장. 온프레미스 SSH 배포를 통제 가능한 단계로 만든다
- 22장. VM rolling deployment와 load balancer drain을 연결한다
- 23장. Container image를 작고 검증 가능하게 만든다
- 24장. Registry를 release system으로 운영한다
- 25장. Kubernetes Deployment의 rollout을 읽는다
- 26장. Probe와 graceful shutdown을 배포 계약으로 만든다
- 27장. Database migration을 expand-contract로 분리한다
- 28장. Blue-Green과 Canary를 위험에 맞게 고른다
- 29장. GitOps에서 CI와 CD 권한을 분리한다
- 30장. Argo CD 자동 sync와 rollback을 혼동하지 않는다
- 31장. Configuration과 Secret을 artifact와 분리한다
- 32장. 배포 관측을 pipeline 단계로 만든다
- 33장. ReleaseDesk로 증거 기반 판정을 연습한다
- 34장. Rollback을 버튼이 아니라 복구 제품으로 만든다
- 35장. 장애 훈련 — 배포는 초록인데 주문 조회가 느리다
- 36장. 장애 훈련 — Runner secret이 log에 노출됐다
- 37장. 장애 훈련 — GitOps가 hotfix를 되돌린다
- 38장. Platform을 고를 때 migration cost까지 본다
- 39장. 15일 완주 프로젝트
- 40장. 출간·출시 최종 판정