콘텐츠로 이동

2.5.1 릴리스 실행 기록

{
  "schema": "release-metadata/v3",
  "version": "v2.5.1",
  "status": "planned",
  "releaseScopes": [
    "coupler-api",
    "docs"
  ],
  "extraRepoRefs": [],
  "versionMapping": {
    "docs": {
      "tag": "v2.5.1",
      "commit": null
    },
    "coupler-api": {
      "tag": "v2.5.1",
      "commit": "a67da8fa3d1c455806eb9144336fab1243f79338"
    },
    "coupler-admin-web": {
      "tag": null,
      "commit": null
    },
    "coupler-mobile-app": {
      "store": {
        "android": null,
        "ios": null
      },
      "nextPush": null,
      "commit": null
    }
  },
  "scopeResults": {
    "coupler-api": {
      "status": "planned",
      "summary": "희망 나이가 없는 회원의 자동 매칭 예약 후보 조회가 나이 필터 없이 동작하도록 수정하고 운영 배포를 준비한다.",
      "evidence": {
        "deployment": null,
        "smoke": null,
        "publicContract": null,
        "runtimeRecovery": null
      }
    },
    "docs": {
      "status": "planned",
      "summary": "API 배포 결과를 반영한 최종 릴리스 기록과 docs tag를 준비한다.",
      "evidence": {}
    }
  },
  "apiContractCutover": null
}

문서 역할

  • 역할: 시나리오
  • 문서 종류: flow
  • 충돌 시 우선 문서: policy/release-process.md, 태그 기준은 policy/release-tag-policy.md
  • 기준 성격: as-is

목적

  • v2.5.1 릴리스의 실제 반영 결과와 검증 근거를 한 문서에 고정한다.

범위

  • 대상: coupler-api, docs
  • 포함 범위: 자동 매칭 예약 NULL 희망 나이 처리, API 운영 배포, 서비스·docs 태그와 릴리스 기록
  • 제외 범위: DB migration, contracts package, Admin, Mobile Store·NextPush

상위 규범 문서

릴리스 상태

  • 목표 버전: v2.5.1
  • 전체 상태: planned
  • 완료 범위:
  • 대기 범위: API PR 승인·병합, 릴리스 preflight, 운영 배포·postcheck, 서비스·docs 태그

버전 매핑

  • docs: 기록 버전 v2.5.1, 태그 v2.5.1, 커밋은 최종 기록 병합 뒤 확정
  • coupler-api: 태그 v2.5.1, 커밋 a67da8fa3d1c455806eb9144336fab1243f79338
  • coupler-admin-web: 태그 N/A, 커밋 N/A
  • coupler-mobile-app: Store 기준 N/A, NextPush N/A, NextPush 커밋 N/A
  • Store 제출 마커 태그와 증빙 이관/삭제: N/A - Mobile Store 미포함

작성 기준

  • 신규 기록은 템플릿을 직접 복사하지 않고 docs 레포 루트에서 yarn release:record:init v2.5.1로 초기화해 lifecycle registry, content/AGENTS.md 인덱스와 mkdocs.yml nav를 같은 변경 단위로 준비한다.
  • 이 파일은 입력 골격이다. 상태·scope·evidence의 규범과 closed value는 릴리스 프로세스릴리스 운영 모델릴리스 기록 상태값을 따른다.
  • release-metadata는 docs-only planned 시작형이다. 실제 releaseScopes와 같은 key만 scopeResults에 추가하고, scripts/release-schema.mjs가 정의하지 않은 key나 별도 완료 축을 만들지 않는다.
  • scope, exact commit, 검증 시나리오와 rollback 기준을 확정하고 현재 PR head에 적용된 필수 CI를 확인한 뒤 전체 상태와 nonterminal scopeResultspending으로 전환한다. 전환을 push한 현재 PR head의 필수 CI 성공을 다시 확인하기 전에는 preflight나 운영 실행을 시작하지 않는다.
  • release-metadata가 기계 판정 SoT이고 본문은 사람이 읽는 mirror다. 두 표현의 범위·상태·버전 기준을 맞춘다.
  • terminal scope는 정책과 descriptor가 요구하는 concrete evidence로 닫는다. placeholder나 N/A로 완료 증빙을 대신하지 않는다.
  • API contract cutover가 있을 때만 content/templates/api-contract-cutover-gate-template.md검증 근거 아래에 삽입한다.
  • DB migration은 DB Migration 실행 런북에 따라 개발계와 운영계에 사용한 동일한 마이그레이션 소스 커밋과 최종 pending 0건을 사람이 읽는 결과에 기록한다. 별도 plan·execution artifact는 만들지 않는다.
  • main에 이미 병합된 릴리스 기록과 evidence는 수정·삭제·개명·대체하거나 현재 계약으로 재검증하지 않는다.
  • 개인 사용자명·로컬 home/tmp 경로·secret을 기록하지 않는다. 변동 값에는 확인 시각과 timezone을 남긴다.
  • 최종 후보에서 yarn release:preflight --pending-ref <40자 commit SHA>와 적용 docs 품질 Gate를 실행한다.

릴리스 결과

  • 현재 결과: planned - API 후보와 릴리스 범위를 고정했으며 PR·운영 Gate는 아직 진행 전이다.

메인 흐름

  1. API PR의 필수 CI와 승인·main 반영을 확인한다.
  2. docs 릴리스 기록을 pending으로 전환하고 공통 preflight를 통과한다.
  3. 운영 API를 exact main commit으로 fast-forward하고 PM2·내부/외부 smoke·로그를 확인한다.
  4. API 서비스 태그를 생성하고 최종 기록과 docs 태그·Release postcheck를 완료한다.

검증 근거

  • Preflight 명령·결과: 릴리스 기록 pending 전환과 API main 반영 뒤 실행 예정
  • Scope별 Gate·smoke·artifact: API 후보 a67da8fa에서 표준 품질 게이트 통과, 187 suites·1,653 tests 성공
  • API cutover: No - 공개 요청·응답, 오류, 인증, WebSocket, bootstrap·version 계약 변경 없음
  • DB 마이그레이션 소스 커밋·개발계/운영계 결과: N/A - schema·migration 변경 없음
  • Workflow·로그·수동 검증 링크: API PR #210

Mobile 개발계 QA 빌드 기록

개발계 QA 빌드가 있을 때만 기록한다. 운영 Store·NextPush·서비스 태그 증빙으로 사용하지 않는다.

  • 기록일:
  • API 대상:
  • iOS TestFlight QA 빌드:
  • Android QA APK:
  • 운영 릴리스 전 확인:

롤백 기준

  • coupler-api: 배포 직전 운영 기준 7a92e56173930ade6d3dcd4cad675131bdf245b8로 복구하고 production PM2를 재시작한다. DB 변경은 없다.
  • docs: 운영 변경 전에는 같은 PR에서 기록을 보정한다. 최종 병합·태그 뒤 기록은 수정하지 않는다.

후속 작업

  • 남은 범위: API·docs PR Gate, 공통 preflight, 운영 API 배포·postcheck, 태그와 최종 기록 마감
  • 완료 조건: exact API main commit의 운영 반영과 PM2·내부/외부 smoke, API·docs 태그 및 docs Release postcheck 완료