Justin-book

브랜치 전략 및 CI 파이프라인 관리 (Backend Branch & CI Pipeline)

2025-10-27

요약

  • 백엔드 협업의 품질은 일관된 브랜치 정책자동화된 CI 프로세스에서 시작된다.
  • 본 문서는 백엔드 브랜치 네이밍 규칙, Merge 정책, CI 구성 기준을 정의한다.
  • 목표: 안정적 빌드, 자동 테스트, 일관된 배포 흐름 유지
항목내용
브랜치main/develop/feature/release 구조
CI 파이프라인Build → Test → Package → Deploy
Merge 규칙2인 승인 + CI 통과 필수
자동화GitLab→Harbor→ArgoCD 연동

1. 브랜치 전략

브랜치목적예시
main운영 배포용main
develop통합 개발용develop
feature기능 단위 개발feature/add-login-api
fix버그 수정fix/invalid-jwt
release배포 후보release/v1.4.0
flowchart LR A[feature/*] --> B[develop] B --> C[release/*] C --> D[main] D --> E[hotfix/*] E --> B

2. CI 파이프라인 구성

단계설명예시 도구
Build코드 빌드 및 종속성 설치Gradle / Maven / Poetry / npm
TestUnit & Integration Test 실행JUnit / Pytest
Lint정적 코드 검사SonarQube / ESLint
PackageDocker 이미지 빌드Dockerfile
Deploy이미지 푸시 및 배포 트리거GitLab CI → Harbor → ArgoCD
stages:
  - build
  - test
  - package
  - deploy

build:
  stage: build
  script:
    - ./gradlew clean build -x test
test:
  stage: test
  script:
    - ./gradlew test

3. Merge 규칙

  • develop → release 시 모든 테스트 통과 필수
  • release → main 병합 시 Tag 자동 생성 (vX.Y.Z)
  • PR 리뷰 2인 이상 승인 시 병합 가능
  • CI 실패 시 병합 차단 (Protected Branch)