배경
Todo 요청의 Cloud Run 분기를 Staging에서 확인한 뒤 TestFlight가 Firebase Hosting을 공통 API 진입점으로 사용하도록 전환한다.
이번 단계는 Todo 시범 검증만 수행한다. App Store Release와 Production API 주소는 변경하지 않는다.
선행 조건
작업 범위
- 비공개 설정 저장소의
Config.xcconfig에서 Staging FUNCTION_API_BASE_URL만 https://devlog-staging.web.app/api로 변경
- Debug의 기존 Staging Functions 주소와 Release의 기존 Production Functions 주소 유지
- Staging 설정으로 TestFlight 빌드 및 제출
- IPA의
APP_ENVIRONMENT, FIRESTORE_DATABASE_ID, FUNCTION_API_BASE_URL 검증
- 폐기 가능한 Staging 사용자와 Todo로 삭제 요청과 삭제 취소 흐름 검증
- Todo 요청이 Cloud Run
http-api에 도달하고 callback과 나머지 /api/** 요청이 Functions api에 도달하는지 로그 확인
- 기존 Functions와 상태 코드, 응답 본문, 오류 코드가 동일한지 확인
완료 조건
- TestFlight가 Staging Hosting의
/api를 사용함
- Todo 삭제·취소가 기존 앱 동작과 동일하게 완료됨
- Cloud Run과 Functions의 경로 분기가 로그로 확인됨
- Debug와 App Store Release 설정이 변경되지 않음
- Production Firebase 및 Cloud Run 자원이 변경되지 않음
실패 및 복구
- 유효한 인증 요청 실패, 응답 계약 차이, 데이터 불일치 또는 반복되는 5xx가 확인되면 Todo rewrite를 제거하고 Staging Hosting만 재배포
- Staging 앱은 Hosting
/api를 계속 사용하고 /api/**가 Functions로 복귀하므로 TestFlight 재빌드는 수행하지 않음
- 실패한 Cloud Run revision은 즉시 삭제하지 않고 원인 확인을 위해 보존
제외 범위
연관 이슈
배경
Todo 요청의 Cloud Run 분기를 Staging에서 확인한 뒤 TestFlight가 Firebase Hosting을 공통 API 진입점으로 사용하도록 전환한다.
이번 단계는 Todo 시범 검증만 수행한다. App Store Release와 Production API 주소는 변경하지 않는다.
선행 조건
devlog-staging의 Cloud Runhttp-api수동 배포와 직접 호출 검증 완료작업 범위
Config.xcconfig에서 StagingFUNCTION_API_BASE_URL만https://devlog-staging.web.app/api로 변경APP_ENVIRONMENT,FIRESTORE_DATABASE_ID,FUNCTION_API_BASE_URL검증http-api에 도달하고 callback과 나머지/api/**요청이 Functionsapi에 도달하는지 로그 확인완료 조건
/api를 사용함실패 및 복구
/api를 계속 사용하고/api/**가 Functions로 복귀하므로 TestFlight 재빌드는 수행하지 않음제외 범위
연관 이슈