출시 및 버전 관리

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

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

출시 보기

Firebase 콘솔을 사용하면 앱의 모든 출시에 관한 세부정보에 액세스할 수 있습니다.

호스팅 및 서버리스> App Hosting으로 이동한 후 출시를 보려는 백엔드의 보기를 선택합니다. 백엔드의 출시 탭에는 이 백엔드의 모든 출시 내역을 나열하는 표가 표시됩니다.

각 출시 항목에는 출시를 트리거한 Cloud Build 작업 및 변경사항 또는 커밋에 대한 링크와 출시의 작성자, 생성 날짜, 상태에 관한 기본 정보 가 포함되어 있습니다.

  • Cloud Build 작업은 App Hosting에서 앱의 빌드 명령어를 실행하는 빌드 환경입니다. 빌드 ID를 클릭하여 Cloud Build 로그에 액세스할 수 있습니다.
  • 변경사항 은 출시를 트리거한 GitHub 커밋 또는 기타 작업입니다.

수동으로 출시 트리거

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

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

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

  1. Firebase 콘솔에서 호스팅 및 서버리스 > App Hosting으로 이동합니다.
  2. 출시를 만들려는 백엔드의 보기 를 클릭합니다.
  3. 백엔드 대시보드 요약에서 출시 만들기 를 선택합니다.
  4. 배포할 브랜치를 선택합니다.
  5. 배포할 커밋을 선택합니다. 최신 커밋 또는 커밋 ID로 지정된 이전 커밋을 선택할 수 있습니다.
  6. 만들기 를 선택합니다. 출시의 상태 및 빌드 번호가 출시 내역 표에 표시됩니다. 출시 프로세스가 완료되면 이 출시가 현재 출시로 표시됩니다.

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

이전 출시 복원

App Hosting은 이전 출시를 복원하는 두 가지 옵션을 제공합니다.

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

즉시 롤백 만들기

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

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

  1. Firebase 콘솔에서 호스팅 및 서버리스 > App Hosting으로 이동합니다.
  2. 롤백을 만들려는 백엔드의 보기 를 클릭합니다.
  3. 출시 탭을 선택합니다.
  4. 백엔드의 내역 표에서 이전 빌드의 점 3개로 된 메뉴를 선택합니다.
  5. 이 빌드로 롤백 을 선택하고 확인합니다.

다시 빌드 및 롤백

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

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

  1. Firebase 콘솔에서 호스팅 및 서버리스 > App Hosting으로 이동합니다.
  2. 롤백을 만들려는 백엔드의 대시보드 보기 를 클릭합니다.
  3. 출시 탭을 선택합니다.
  4. 출시 만들기 를 선택합니다.
  5. 출시 만들기 대화상자에서 이전 커밋 을 선택한 후 다시 빌드하고 롤백할 버전의 커밋 ID를 입력합니다. 커밋 ID는 출시 내역 에 나열된 각 출시의 '변경사항 세부정보'에 포함되어 있으며 라벨의 괄호 안에 있습니다.
  6. 만들기 를 선택하여 롤백을 시작합니다.

출시 설정 변경

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

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