GitHub pull 요청을 통해 라이브 및 미리보기 채널에 배포

GitHub 작업을 통해 Firebase 호스팅에 배포를 통합할 수 있습니다. 이 GitHub 작업이 수행할 수 있는 작업은 다음과 같습니다.

  • GitHub 리포지토리의 모든 PR에 대해 새 미리 보기 채널(및 연결된 미리 보기 URL)을 만듭니다.

  • 귀하와 각 검토자가 앱의 "미리보기" 버전에서 PR의 변경 사항을 보고 테스트할 수 있도록 미리보기 URL을 사용하여 PR에 설명을 추가합니다.

    미리보기 URL이 포함된 GitHub Action PR 댓글 이미지

  • 연결된 미리 보기 채널에 자동으로 배포하여 각 커밋의 변경 사항으로 미리 보기 URL을 업데이트합니다. URL은 새 커밋마다 변경되지 않습니다.

  • (선택 사항) PR이 병합될 때 GitHub 리포지토리의 현재 상태를 라이브 채널에 배포합니다.

알림: 미리보기 URL을 사용할 때 앱은 Firebase 프로젝트의 실제 백엔드 리소스와 상호작용합니다.

Firebase 호스팅에 배포할 GitHub 작업 설정

  1. GitHub 리포지토리(공개 또는 비공개)를 생성하거나 기존 리포지토리를 사용합니다. 저장소에 대한 관리자 권한이 있어야 합니다.

  2. 저장소의 로컬 버전에서 firebase init 명령 을 사용하여 Firebase 호스팅을 설정합니다.

    • 호스팅을 설정하지 않은 경우 로컬 디렉터리의 루트에서 이 버전의 명령을 실행합니다.

      firebase init hosting
    • 이미 호스팅을 설정했다면 호스팅의 GitHub 작업 부분만 설정하면 됩니다. 로컬 디렉터리의 루트에서 이 버전의 명령을 실행합니다.

      firebase init hosting:github
  3. CLI 프롬프트를 따르십시오. 그러면 명령이 GitHub 작업 설정을 자동으로 처리합니다.

    • Firebase 호스팅에 배포할 수 있는 권한이 있는 Firebase 프로젝트에 서비스 계정을 만듭니다.

    • 해당 서비스 계정의 JSON 키를 암호화하고 지정된 GitHub 리포지토리에 GitHub 비밀 로 업로드합니다.

    • 새로 생성된 비밀을 참조하는 GitHub 워크플로 yaml 구성 파일을 작성합니다. 이 파일은 Firebase 호스팅에 배포하도록 GitHub 작업을 구성합니다.

  4. GitHub에서 새 분기를 만들고 CLI에서 만든 워크플로 yaml 파일을 커밋합니다.

  5. 분기를 GitHub 리포지토리에 게시합니다.

  6. 분기를 병합합니다.

그게 다야! 이 GitHub 리포지토리의 모든 후속 PR은 자동으로 자체 "미리보기 URL"을 갖게 됩니다!

GitHub 작업에 대해 자세히 알아보기

  • Firebase는 "Firebase 호스팅에 배포" GitHub 작업을 오픈 소스 프로젝트로 유지 관리합니다. 소스 코드를 봅니다.

  • "Firebase 호스팅에 배포" GitHub 작업을 사용하면 미리보기 채널의 만료 날짜 사용자 지정 또는 PR이 병합될 때 배포할 라이브가 아닌 채널 설정과 같은 추가 구성이 가능합니다. 사용 가능한 구성 옵션에 대해 알아보세요.

  • 일반적으로 GitHub Actions 에 대해 자세히 알아보세요.