Skip to content

서비스 레포지토리 릴리즈 전용 CI 작업 #265

Description

@Whale0928

배경

릴리즈 PR(main → release/*)도 일반 기능 PR과 동일한 full CI를 타면서 머지 가능 상태 확인까지 시간이 길다. 특히 api-server의 product/admin 릴리즈 PR은 같은 main HEAD로 열리면 유사한 CI가 중복 실행된다.

문제

  • 릴리즈 PR에서도 unit/rule/integration/final-build 전체가 실행된다.
  • product 릴리즈에도 admin integration이, admin 릴리즈에도 product integration이 함께 실행된다.
  • 릴리즈 PR의 핵심은 신규 기능 검증보다 VERSION, tag, release branch 반영 가능 여부 확인에 가깝다.

목표

서비스 레포지토리 릴리즈 PR 전용 CI를 분리한다.

제안

  • 일반 PR(feature → main)은 기존 full CI 유지
  • 릴리즈 PR(main → release/*)은 경량 CI로 분기
  • 릴리즈 CI에서 우선 확인할 항목
    • PR 방향 확인: main → release/*
    • 모듈별 VERSION 형식/bump 확인
    • tag prefix/v{VERSION} 존재 확인
    • 대상 모듈 build 검증
    • integration test는 대상 모듈만 실행하거나 생략 여부 결정

우선 대상

  • api-server product: release/product, bottlenote-product-api/VERSION, product/vX.Y.Z
  • api-server admin: release/admin, bottlenote-admin-api/VERSION, admin/vX.Y.Z
  • frontend: release, VERSION, frontend/vX.Y.Z
  • admin-dashboard: release/dashboard, VERSION, dashboard/vX.Y.Z

완료 조건

  • 서비스 레포별 릴리즈 PR 조건을 정리한다.
  • api-server product/admin 릴리즈 전용 CI 설계를 확정한다.
  • branch protection required check 충돌 여부를 확인한다.
  • 릴리즈 PR에서 불필요한 중복 CI 실행을 줄인다.
  • frontend/admin-dashboard 적용 가능성을 검토한다.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions