CI/CD 파이프라인 전체 흐름 (GitHub Actions)

CI/CD 파이프라인 전체 흐름 (GitHub Actions) An architecture diagram generated by Archify. push · Architecture component push CI (ci.yml) · build+test 3앱 · Architecture component CI (ci.yml) build+test 3앱 CD 게이트 · CI 성공 시만 시작 · CD (cd.yml) · workflow_run CD 게이트 CI 성공 시만 시작 workflow_run ① build-push · amd64+arm64 → GHCR · digest · CD (cd.yml) ① build-push amd64+arm64 → GHCR · digest Telegram 알림 · 실패 시 리포트 업로드 · Architecture component Telegram 알림 실패 시 리포트 업로드 ② dev 배포 (Push형) · self-hosted 러너 kubectl + 자동롤백 · Architecture component ② dev 배포 (Push형) self-hosted 러너 kubectl + 자동롤백 ③ digest git commit · kustomize · [skip ci] · Architecture component ③ digest git commit kustomize · [skip ci] ArgoCD pull · prod 동기화 (GitOps) · Architecture component ArgoCD pull prod 동기화 (GitOps) 성공 결과 통보 [develop] [main] git watch CD (cd.yml)

핵심 설계

  • • CI/CD 분리 — CD는 CI가 성공해야만 시작
  • • workflow_run은 main 정의만 발화 → main=workflow_run, develop=push 트리거 이원화
  • • 배포는 태그가 아닌 digest 핀(불변) — 재현성·롤백 정확성

디테일

  • • [skip ci] 커밋으로 prod digest 커밋의 무한루프 방지
  • • dev = 빠른 피드백(Push형), prod = 추적성·안전성(GitOps)
  • • 멀티아키 이미지는 QEMU+Buildx로 빌드