EROKE ORIGINAL WEBBOOK

CI/CD, 서버실에서 클라우드까지

전체 목차40개 장
  1. CI/CD, 서버실에서 클라우드까지: 1장. CI, Continuous Delivery, Deployment를 구분한다
  2. CI/CD, 서버실에서 클라우드까지: 2장. 릴리스 가치 흐름과 책임을 그린다
  3. CI/CD, 서버실에서 클라우드까지: 3장. ParcelTrack 릴리스 계약을 먼저 만든다
  4. CI/CD, 서버실에서 클라우드까지: 4장. 저장소와 branch 보호를 CI의 앞문으로 둔다
  5. CI/CD, 서버실에서 클라우드까지: 5장. Pipeline as Code를 단일 진실원으로 만든다
  6. CI/CD, 서버실에서 클라우드까지: 6장. Build Once와 artifact identity를 지킨다
  7. CI/CD, 서버실에서 클라우드까지: 7장. 재현 가능한 build의 변수를 줄인다
  8. CI/CD, 서버실에서 클라우드까지: 8장. Test stage를 빠른 실패 순서로 배치한다
  9. CI/CD, 서버실에서 클라우드까지: 9장. Secret 없는 cloud 인증에 OIDC를 쓴다
  10. CI/CD, 서버실에서 클라우드까지: 10장. SBOM과 provenance를 릴리스 증거로 붙인다
  11. CI/CD, 서버실에서 클라우드까지: 11장. Jenkins controller와 agent를 분리한다
  12. CI/CD, 서버실에서 클라우드까지: 12장. Declarative Jenkinsfile을 운영 가능하게 쓴다
  13. CI/CD, 서버실에서 클라우드까지: 13장. Jenkins Shared Library의 경계를 정한다
  14. CI/CD, 서버실에서 클라우드까지: 14장. Jenkins 장애를 queue·agent·plugin으로 분해한다
  15. CI/CD, 서버실에서 클라우드까지: 15장. GitHub Actions permission을 최소화한다
  16. CI/CD, 서버실에서 클라우드까지: 16장. GitHub environment를 운영 승인 경계로 쓴다
  17. CI/CD, 서버실에서 클라우드까지: 17장. Reusable Workflow를 API처럼 관리한다
  18. CI/CD, 서버실에서 클라우드까지: 18장. GitLab pipeline의 stage와 needs를 구분한다
  19. CI/CD, 서버실에서 클라우드까지: 19장. GitLab Runner를 신뢰 구역별로 나눈다
  20. CI/CD, 서버실에서 클라우드까지: 20장. GitLab environment와 manual gate를 기록한다
  21. CI/CD, 서버실에서 클라우드까지: 21장. 온프레미스 SSH 배포를 통제 가능한 단계로 만든다
  22. CI/CD, 서버실에서 클라우드까지: 22장. VM rolling deployment와 load balancer drain을 연결한다
  23. CI/CD, 서버실에서 클라우드까지: 23장. Container image를 작고 검증 가능하게 만든다
  24. CI/CD, 서버실에서 클라우드까지: 24장. Registry를 release system으로 운영한다
  25. CI/CD, 서버실에서 클라우드까지: 25장. Kubernetes Deployment의 rollout을 읽는다
  26. CI/CD, 서버실에서 클라우드까지: 26장. Probe와 graceful shutdown을 배포 계약으로 만든다
  27. CI/CD, 서버실에서 클라우드까지: 27장. Database migration을 expand-contract로 분리한다
  28. CI/CD, 서버실에서 클라우드까지: 28장. Blue-Green과 Canary를 위험에 맞게 고른다
  29. CI/CD, 서버실에서 클라우드까지: 29장. GitOps에서 CI와 CD 권한을 분리한다
  30. CI/CD, 서버실에서 클라우드까지: 30장. Argo CD 자동 sync와 rollback을 혼동하지 않는다
  31. CI/CD, 서버실에서 클라우드까지: 31장. Configuration과 Secret을 artifact와 분리한다
  32. CI/CD, 서버실에서 클라우드까지: 32장. 배포 관측을 pipeline 단계로 만든다
  33. CI/CD, 서버실에서 클라우드까지: 33장. ReleaseDesk로 증거 기반 판정을 연습한다
  34. CI/CD, 서버실에서 클라우드까지: 34장. Rollback을 버튼이 아니라 복구 제품으로 만든다
  35. CI/CD, 서버실에서 클라우드까지: 35장. 장애 훈련 — 배포는 초록인데 주문 조회가 느리다
  36. CI/CD, 서버실에서 클라우드까지: 36장. 장애 훈련 — Runner secret이 log에 노출됐다
  37. CI/CD, 서버실에서 클라우드까지: 37장. 장애 훈련 — GitOps가 hotfix를 되돌린다
  38. CI/CD, 서버실에서 클라우드까지: 38장. Platform을 고를 때 migration cost까지 본다
  39. CI/CD, 서버실에서 클라우드까지: 39장. 15일 완주 프로젝트
  40. CI/CD, 서버실에서 클라우드까지: 40장. 출간·출시 최종 판정

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. 1장. CI, Continuous Delivery, Deployment를 구분한다
  2. 2장. 릴리스 가치 흐름과 책임을 그린다
  3. 3장. ParcelTrack 릴리스 계약을 먼저 만든다
  4. 4장. 저장소와 branch 보호를 CI의 앞문으로 둔다
  5. 5장. Pipeline as Code를 단일 진실원으로 만든다
  6. 6장. Build Once와 artifact identity를 지킨다
  7. 7장. 재현 가능한 build의 변수를 줄인다
  8. 8장. Test stage를 빠른 실패 순서로 배치한다
  9. 9장. Secret 없는 cloud 인증에 OIDC를 쓴다
  10. 10장. SBOM과 provenance를 릴리스 증거로 붙인다
  11. 11장. Jenkins controller와 agent를 분리한다
  12. 12장. Declarative Jenkinsfile을 운영 가능하게 쓴다
  13. 13장. Jenkins Shared Library의 경계를 정한다
  14. 14장. Jenkins 장애를 queue·agent·plugin으로 분해한다
  15. 15장. GitHub Actions permission을 최소화한다
  16. 16장. GitHub environment를 운영 승인 경계로 쓴다
  17. 17장. Reusable Workflow를 API처럼 관리한다
  18. 18장. GitLab pipeline의 stage와 needs를 구분한다
  19. 19장. GitLab Runner를 신뢰 구역별로 나눈다
  20. 20장. GitLab environment와 manual gate를 기록한다
  21. 21장. 온프레미스 SSH 배포를 통제 가능한 단계로 만든다
  22. 22장. VM rolling deployment와 load balancer drain을 연결한다
  23. 23장. Container image를 작고 검증 가능하게 만든다
  24. 24장. Registry를 release system으로 운영한다
  25. 25장. Kubernetes Deployment의 rollout을 읽는다
  26. 26장. Probe와 graceful shutdown을 배포 계약으로 만든다
  27. 27장. Database migration을 expand-contract로 분리한다
  28. 28장. Blue-Green과 Canary를 위험에 맞게 고른다
  29. 29장. GitOps에서 CI와 CD 권한을 분리한다
  30. 30장. Argo CD 자동 sync와 rollback을 혼동하지 않는다
  31. 31장. Configuration과 Secret을 artifact와 분리한다
  32. 32장. 배포 관측을 pipeline 단계로 만든다
  33. 33장. ReleaseDesk로 증거 기반 판정을 연습한다
  34. 34장. Rollback을 버튼이 아니라 복구 제품으로 만든다
  35. 35장. 장애 훈련 — 배포는 초록인데 주문 조회가 느리다
  36. 36장. 장애 훈련 — Runner secret이 log에 노출됐다
  37. 37장. 장애 훈련 — GitOps가 hotfix를 되돌린다
  38. 38장. Platform을 고를 때 migration cost까지 본다
  39. 39장. 15일 완주 프로젝트
  40. 40장. 출간·출시 최종 판정