출시 및 버전 관리

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

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

출시 보기

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

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

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

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

수동으로 출시 트리거

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

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

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

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

다시 빌드 및 롤백

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

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

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

출시 설정 변경

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

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

자동 출시 관리

기본적으로 App Hosting모든 파일의 "필수" 목록을 가정합니다. 즉, 저장소에 대한 모든 새 커밋은 새 빌드 및 출시를 트리거합니다. 하지만 시간을 절약하고 불필요한 배포를 방지하기 위해 App Hosting 을(를) 구성하여 커밋에서 수정된 특정 파일 경로를 기반으로 빌드를 건너뛸 수 있습니다.

설정 > 출시 > 출시 트리거 에서 이를 구성할 수 있습니다. 여기서 저장소에 대한 모든 새 커밋이 새 빌드 및 출시를 트리거하도록 하려면 필수 경로 를 비워 두거나 출시를 항상 트리거해야 하는 디렉터리 또는 파일을 정확히 지정할 수 있습니다. 디렉터리를 지정하는 경우 변경사항이 출시를 트리거해야 하는 모든 경로를 추가해야 합니다.

무시된 경로 에 추가하는 디렉터리 또는 파일은 자동 출시를 트리거하지 않습니다. 하위 디렉터리가 필수 목록과 무시된 목록에 모두 포함되는 경우 자동 출시가 트리거되지 않습니다. 무시된 경로 목록만 채우면 App Hosting에서 필수 경로에 "*"를 자동으로 채웁니다.

이 페이지에 설명된 UI의 스크린샷

변경된 파일 중 필수 경로와 일치하는 파일이 없거나 무시된 경로에 의해 모든 변경사항이 명시적으로 제외되는 커밋을 푸시하는 경우 App Hosting은 여전히 GitHub 이벤트의 수신을 확인하지만 빌드 및 출시 상태를 SKIPPED로 표시하고 자동 출시가 트리거되지 않습니다.