출시 및 버전 관리

자동 출시가 사용 설정된 경우 GitHub 저장소의 실시간 브랜치에 새 커밋을 푸시할 때마다 App Hosting에서 새 버전의 앱을 자동으로 출시합니다. Firebase 콘솔 또는 App Hosting GitHub 검사에서 출시 상태를 확인할 수 있습니다.

또한 App Hosting는 CI/CD 통합 또는 출시를 강제해야 하는 기타 모든 경우에 수동으로 트리거된 출시를 지원합니다.

출시 보기

Firebase Console에서는 앱의 모든 출시에 관한 자세한 정보에 액세스할 수 있습니다. App Hosting에서 출시를 확인하려는 백엔드의 대시보드 보기를 선택합니다. 대시보드에는 현재 출시에 대한 정보와 이 백엔드의 모든 출시 내역을 나열하는 표가 표시됩니다.

콘솔 출시 보기 스크린샷

각 출시에는 git 커밋, Cloud Build 작업, Cloud Run 버전이 포함됩니다.

  • git 커밋은 출시가 생성된 시점의 저장소 스냅샷입니다.
  • Cloud Build 작업은 App Hosting가 앱의 빌드 명령어를 실행하는 빌드 환경입니다. Firebase Console에서 빌드 ID를 클릭하여 Cloud Build 로그에 액세스할 수 있습니다.
  • Cloud Run 버전은 웹 앱의 런타임 환경입니다. 점 3개로 된 메뉴를 클릭하고 Cloud Run 버전 보기를 선택하여 출시의 런타임 구성 (CPU 및 메모리 제한, 환경 변수 등)에 관해 자세히 알아볼 수 있습니다.

출시 수동 트리거

새 커밋을 푸시하지 않고 GitHub 소스에서 출시를 수동으로 트리거하려면 Firebase 콘솔 또는 Firebase CLI에서 출시를 만들면 됩니다. 이는 다음과 같은 경우에 유용합니다.

  • 정적 콘텐츠 재생성을 강제합니다.
  • CI/CD 시스템에서 출시를 트리거하도록 허용
  • 프로덕션 출시를 특정 날짜 또는 시간으로 제한

Firebase 콘솔에서 출시를 트리거하려면 다음 단계를 따르세요.

  1. App Hosting에서 출시를 만들 백엔드의 대시보드 보기를 선택합니다.
  2. 백엔드 대시보드에서 출시 만들기를 선택합니다.
  3. 배포할 브랜치를 선택합니다.
  4. 배포할 커밋(최신 커밋 또는 커밋 ID로 지정된 이전 커밋)을 선택합니다.
  5. 만들기를 선택합니다. 출시의 상태 및 빌드 번호가 출시 기록 표에 표시됩니다. 출시 프로세스가 완료되면 이 출시가 현재 출시로 표시됩니다.

Firebase CLI에서 출시를 트리거하려면 다음 명령어를 실행하고 메시지가 표시되면 출시 브랜치를 선택합니다.

firebase apphosting:rollouts:create BACKEND_ID

또는 --git-branch 옵션을 사용하여 특정 브랜치의 최신 커밋 출시를 시작할 수 있습니다.

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

--git-commit 옵션을 사용하여 특정 커밋으로 출시를 만들 수도 있습니다.

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

이전 출시 복원

앱 호스팅에서는 이전 출시를 복원하는 두 가지 옵션을 제공합니다.

  • 다시 빌드하지 않고 즉시 롤백
  • 다시 빌드하고 이전 버전으로 롤백

즉시 롤백 만들기

새로 배포된 출시에서 심각한 버그가 발견되었거나 새 출시를 차단하는 불안정한 빌드가 발생한 경우와 같이 이전 버전의 앱으로 빠르게 되돌려야 할 때가 있습니다. 이 경우 이전 출시에서 원하는 기존 컨테이너 이미지를 복원할 수 있습니다. 이 이미지는 다시 빌드되지 않으며 처음 빌드되었을 때의 코드 및 환경 구성을 사용합니다.

즉시 롤백을 만들려면 다음 단계를 따르세요.

  1. 앱 호스팅 탭에서 롤백을 만들 백엔드의 대시보드 보기를 선택합니다.
  2. 백엔드의 출시 기록 표에서 이전 빌드의 점 3개로 된 메뉴를 선택합니다.
  3. 이 빌드로 롤백을 선택하고 확인합니다.

다시 빌드 및 롤백

이전 버전의 앱으로 되돌리되 현재 구성은 유지하려면 롤백 프로세스의 일환으로 앱을 다시 빌드하면 됩니다. 예를 들어 최신 버전에서 Secret Manager의 API 키 값을 업데이트한 경우 빌드하면 롤백 후 앱에서 새 키가 사용될 수 있습니다.

다시 빌드하고 롤백하려면 다음 단계를 따르세요.

  1. 앱 호스팅 탭에서 롤백을 만들 백엔드의 대시보드 보기를 선택합니다.
  2. 출시 만들기를 선택합니다.
  3. 출시 만들기 대화상자에서 이전 커밋을 선택한 다음 다시 빌드하고 롤백하려는 버전의 커밋 ID를 입력합니다. 커밋 ID는 출시 기록에 나열된 각 출시의 '변경 세부정보'에 포함되며 라벨의 괄호 안에 있습니다.
  4. 만들기를 선택하여 롤백을 시작합니다.

출시 설정 변경

백엔드 대시보드의 설정 > 배포 뷰에서 컨트롤을 사용하여 출시의 실시간 브랜치를 변경하고 자동 출시를 사용 중지하거나 사용 설정할 수 있습니다.

  1. App Hosting에서 출시 설정을 업데이트할 백엔드의 대시보드 보기를 선택합니다.
  2. 백엔드 대시보드에서 설정을 선택합니다. 기본 보기에는 도메인 및 커스텀 도메인에 관한 정보가 표시됩니다.
  3. 배포 뷰를 선택합니다. 이 뷰에서 출시의 실시간 브랜치를 변경하고 자동 출시를 사용 중지하거나 사용 설정할 수 있습니다. 또한 앱 루트 디렉터리와 백엔드 환경을 설정하는 옵션도 있습니다 (여러 환경에 배포 참고).