Skip to content

[#628] Firebase 구성을 staging / prod로 분리한다#647

Merged
opficdev merged 9 commits into
developfrom
chore/#628-staging-prod
Jun 26, 2026
Merged

[#628] Firebase 구성을 staging / prod로 분리한다#647
opficdev merged 9 commits into
developfrom
chore/#628-staging-prod

Conversation

@opficdev

@opficdev opficdev commented Jun 26, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • Firebase Firestore database를 개발/QA용 staging과 실제 서비스용 prod로 분리하기 위한 iOS 앱 설정 정리
  • TestFlight는 QA용 staging 환경으로 유지하고 App Store 배포 산출물은 prod 환경으로 생성되도록 배포 경로 명확화
  • Callable Functions 환경 분리는 후속 REST API 전환 작업으로 이관

📝 작업 내용

📌 요약

  • Firestore database ID 런타임 설정 추가
  • Debug, Staging, Release build configuration별 Firestore database 분리
  • TestFlight와 App Store fastlane lane 및 GitHub Actions workflow 분리
  • IPA 내부 FIRESTORE_DATABASE_ID 검증 추가
  • 배포 환경 조합 guard 추가
  • callable Functions의 databaseID payload 주입 제거

🔍 상세

  • FirebaseConfiguration을 추가해 direct Firestore instance의 database ID 선택 경로 일원화
  • FIRESTORE_DATABASE_ID 환경변수 override를 먼저 확인하고, 이후 app bundle Info.plist 값을 사용하도록 처리
  • Debug, Stagingstaging, Releaseprod database를 사용하도록 build setting 구성
  • TestFlight archive는 Staging/staging, App Store archive는 Release/prod 조합으로 분리
  • TestFlight workflow를 수동 실행 전용으로 변경하고 기존 qa, qa-local label 기반 CD 제거
  • App Store workflow를 별도로 추가해 Release/prod archive 및 App Store Connect upload 경로 분리
  • build number는 App Store Connect 전체 upload 기준으로 자동 증가하도록 네이밍 정리
  • archive 전 Staging -> staging, Release -> prod 조합 검증 추가
  • TestFlight/App Store upload 전 IPA 내부 Firestore database ID 재검증 추가
  • callable Functions는 기존 endpoint 호출을 유지하고, staging/prod endpoint 분리는 후속 REST API 전환 작업에서 처리하도록 정리

📸 영상 / 이미지 (Optional)

@opficdev opficdev changed the title [#628] [#628] Firebase 구성을 staging / prod로 분리한다 Jun 26, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces database separation based on build configurations (staging for Debug/Staging, prod for Release) by adding a FIRESTORE_DATABASE_ID setting. It updates Tuist project settings, fastlane deployment lanes, and Firebase configurations in DevLogInfra to dynamically resolve the database ID. Feedback on the changes suggests ensuring that App Extensions also define FIRESTORE_DATABASE_ID since Bundle.main will refer to the extension's bundle, and recommends checking environment variables in FirebaseConfiguration.databaseID to support environment overrides during local and UI testing.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread Application/DevLogInfra/Sources/Common/FirebaseConfiguration.swift
Comment thread Application/DevLogInfra/Sources/Common/FirebaseConfiguration.swift
@opficdev opficdev merged commit f13998c into develop Jun 26, 2026
6 checks passed
@opficdev opficdev deleted the chore/#628-staging-prod branch June 26, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Firebase 구성을 staging / prod로 분리한다

1 participant