본문으로 건너뛰기

CI/CD 파이프라인 개요

전체 구조

InfoLineage Platform은 브랜치 전략에 따라 두 개의 CI/CD 파이프라인을 운영합니다.

브랜치 전략

브랜치파이프라인레지스트리배포 대상
developJenkinsHarbor (scr.softcamp.co.kr)K8s dev namespace
masterAzure PipelineACR (security365acr.azurecr.io)Staging / Prod (수동)

레지스트리 전략

Harbor (개발)

  • 주소: scr.softcamp.co.kr
  • 프로젝트: infolineage
  • 이미지: platform-api, platform-worker, platform-frontend
  • 인증: Jenkins Credential ID harbor

ACR (운영)

  • 주소: security365acr.azurecr.io
  • 프로젝트: infolineage
  • 이미지: api, worker, frontend
  • 인증: Azure Service Connection AzureContainerRegistry

모노레포 Path Trigger

각 Jenkins Job은 변경된 파일 경로를 확인하여 관련 없는 변경 시 빌드를 건너뜁니다.

Job빌드 트리거 경로
APIbackend/infolineage-api/, backend/infolineage-common/
Workerbackend/infolineage-worker/, backend/infolineage-common/
Frontendfrontend/

SKIP_BUILD=true이면 Gradle Build / Docker Build 단계를 건너뛰고, K8s Deploy 단계는 항상 실행됩니다.

환경별 배포 흐름

⏳ Staging 자동 배포 및 Production 수동 승인은 향후 구현 예정입니다.

Jenkinsfile 위치

infra/jenkins/
├── Jenkinsfile.api # API 서비스 파이프라인
├── Jenkinsfile.worker # Worker 서비스 파이프라인
└── Jenkinsfile.frontend # Frontend 파이프라인

Azure Pipeline 위치

infra/azure-pipelines/
├── pipelines/
│ ├── api-pipeline.yml
│ ├── worker-pipeline.yml
│ └── frontend-pipeline.yml
└── templates/
├── build-java.yml
├── sonar-scan.yml
└── docker-push.yml