Justin-book

CI/CD 파이프라인 설계 및 운영 (CI/CD Pipeline Management)

2025-10-27

요약

  • SE의 핵심 역할은 지속적 통합(Integration)지속적 배포(Delivery) 의 안정적 운영이다.
  • 본 문서는 CI/CD 설계, GitLab–Harbor–ArgoCD 통합 구조를 표준화한다.
  • 목표: 완전 자동화된 배포 파이프라인 / 무중단 운영 / 롤백 즉시성 확보
항목내용
CI/CD 구성GitLab → Harbor → ArgoCD
승인 체계Stage별 자동화 + 수동 승인
롤백ArgoCD Revision 기반
모니터링Grafana + Slack 연동

1. CI/CD 파이프라인 구조

flowchart LR A[Git Commit] --> B[GitLab CI Build] B --> C[Harbor Push] C --> D[ArgoCD Sync] D --> E[Kubernetes Deploy] E --> F[Monitoring + Alert]
단계설명도구
CI코드 빌드, 테스트, 이미지 생성GitLab Runner
이미지 저장빌드된 Docker 이미지 저장Harbor
CD선언적 배포ArgoCD
모니터링상태 추적 및 알림Grafana, Alertmanager

2. GitLab CI 구성 예시

stages:
  - build
  - test
  - deploy

build:
  script:
    - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA

deploy:
  script:
    - kubectl apply -f k8s/deployment.yaml

3. 배포 정책

항목정책
승인PO/SE 승인 후 자동 배포
환경 구분dev → stage → prod 순서
롤백ArgoCD Previous Revision 복원
로그모든 Job Log 90일 보관

4. 장애 대응 절차

  1. CI/CD 실패 감지
  2. Slack 알림 → 담당자 확인
  3. 원인 파악 (빌드 실패 / 이미지 오류 / 권한 문제)
  4. Fix 브랜치 생성 후 재시도