콘텐츠로 이동

2.1.0 릴리스 실행 기록

문서 역할

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

목적

  • v2.1.0 릴리스의 서버 운영 반영 결과, 모바일 스토어 제출 상태, 태그 기준점, 후속 릴리즈 대체 종료 근거를 한 문서에 고정한다.

범위

  • 대상: docs, coupler-api, coupler-admin-web, coupler-mobile-app
  • 포함 범위: API/Admin 운영 배포, 서비스 태그 확정, Mobile Store 제출 상태 기록, docs Release 기록
  • 제외 범위: 운영 RDS 변경, Mobile NextPush 배포, 스토어 심사 정책 해석

상위 규범 문서

릴리스 상태

  • 목표 버전: v2.1.0
  • 전체 상태: superseded
  • 완료 범위: coupler-api, coupler-admin-web, docs release record
  • 종료 사유: coupler-mobile-app 2.1.0 (90) Store 승인/운영 출시 검증과 모바일 릴리즈 태그 생성은 완료하지 않았고, 후속 v2.2.0 Store 승인/출시와 coupler-mobile-app v2.2.0 태그가 모바일 운영 기준점을 대체했다.
  • coupler-api 태그: v2.1.0 -> 09dca9955cb9bbe49cb9a49584afc6ef8be627ec
  • coupler-admin-web 태그: v2.1.0 -> ea5e017fc92cf446e6a7df49e7c7fc975fe6817d
  • docs 태그: v2.1.0 -> release workflow의 현재 docs tag commit
  • coupler-mobile-app 태그: N/A (v2.1.0 모바일 릴리즈 태그 미생성, 후속 v2.2.0으로 대체)

릴리스 결과

  • coupler-api 운영 EC2를 09dca9955cb9bbe49cb9a49584afc6ef8be627ec 기준으로 배포하고 외부 응답을 확인했다.
  • coupler-admin-web 운영 정적 산출물을 ea5e017fc92cf446e6a7df49e7c7fc975fe6817d 기준으로 배포하고 외부 응답을 확인했다.
  • Android/iOS 스토어 빌드는 2.1.0 (90)으로 제출했다.
  • Mobile Store 2.1.0 (90)은 운영 출시/검증 완료 기준점으로 닫지 않았고, coupler-mobile-app v2.1.0 태그는 생성하지 않았다.
  • 후속 v2.2.0에서 Store 승인/출시 기준점과 coupler-mobile-app v2.2.0 태그를 확정했으므로 이 릴리스의 모바일 대기 범위는 superseded로 종료한다.
  • 이번 릴리스에서 운영 RDS 변경과 Mobile NextPush 배포는 포함하지 않는다.

메인 흐름

  1. 개발계 API/Admin 배포를 완료한 뒤 운영계 API/Admin 배포 범위를 확정했다.
  2. 운영 coupler-api에서 최신 main 반영, 의존성 설치, PM2 restart/save를 수행했다.
  3. 운영 coupler-admin-web에서 최신 main 반영, production build, 정적 산출물 교체, nginx 검증/재시작을 수행했다.
  4. Mobile Android AAB와 iOS archive를 2.1.0 (90)으로 스토어 심사에 제출했다.
  5. API/Admin 운영 검증이 완료된 커밋에 서비스 태그를 생성하고, docs 릴리스 기록으로 완료/대기 범위를 분리했다.
  6. 후속 v2.2.0 릴리스에서 모바일 Store 승인/출시 기준점이 확정돼, 이 문서의 모바일 대기 범위를 superseded로 닫았다.

검증 근거

  • coupler-api
    • 운영 커밋: 09dca9955cb9bbe49cb9a49584afc6ef8be627ec
    • PM2 상태: coupler-api online
    • 내부 응답: http://127.0.0.1:3002/ 200
    • 외부 응답: https://api.ritzy.fourhundred.co.kr/ 200
  • coupler-admin-web
    • 운영 커밋: ea5e017fc92cf446e6a7df49e7c7fc975fe6817d
    • build artifact: main.92cea922.js
    • 운영 백업: /var/www/coupler-admin-web-backup-20260613222006
    • nginx 검증: nginx -t success
    • 내부 응답: http://127.0.0.1:8000 200
    • 외부 응답: https://cms.ritzy.fourhundred.co.kr 200
  • coupler-mobile-app
    • Android 제출 빌드: 2.1.0 (90), 기준 커밋 d15a25de0909779b7ee4f82b9f4353a7a45c4ed2
    • iOS 제출 빌드: 2.1.0 (90), 기준 커밋 cc196b24c8d92062af3c76a57b760fca178044fa
    • 제출 후 iOS build tooling/fmt 정리 커밋: 956481a2b1c11d34a32bdf369e1a555761f5c72d, 5693c060368fda23bcadf0cd146090a1f3388fcc
    • 모바일 대체 기준: v2.2.0 Store 승인/출시와 coupler-mobile-app v2.2.0 태그가 최종 모바일 운영 기준점 역할을 한다.

롤백 기준

  • coupler-api: 직전 운영 태그 또는 운영 배포 전 PM2 상태 기준으로 롤백한다.
  • coupler-admin-web: /var/www/coupler-admin-web-backup-20260613222006 백업 산출물 또는 직전 운영 태그 기준으로 롤백한다.
  • coupler-mobile-app: v2.1.0 모바일 릴리즈 태그가 없으므로 rollback 기준점으로 사용하지 않는다. 모바일 운영 기준은 후속 v2.2.0 릴리즈 기록과 Store/NextPush 상태를 따른다.
  • 운영 RDS: 이번 릴리스에 DB 변경이 없으므로 DB rollback 대상은 N/A다.

후속 작업

  • 없음. v2.1.0 모바일 대기 범위는 후속 v2.2.0으로 대체되어 종료됐다.

관련 문서