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

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions