Firebase에 배포

이 페이지에서는 Cloud Build를 사용하여 Firebase에 애플리케이션을 배포하는 방법을 설명합니다. Cloud Build를 처음 사용하는 경우 빠른 시작빌드 구성 개요를 먼저 읽어보세요.

시작하기 전에

  • 아직 사용 설정되지 않은 API가 있으면 Cloud Build, Firebase, Resource Manager API를 사용 설정합니다.

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않으면 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할을 부여하는 방법 알아보기

    API 사용 설정

  • 이 페이지에서 gcloud 명령어를 실행하려면 Google Cloud CLI를 설치합니다.

  • firebase.json을 포함하여 애플리케이션 소스 코드를 바로 사용할 수 있도록 준비합니다. 소스 코드는 Cloud Source Repositories, GitHub 또는 Bitbucket과 같은 저장소에 저장되어야 합니다.

  • 아직 Firebase에 배포할 프로젝트가 없다면 Firebase를 설치하고 초기화하여 기본 프로젝트를 만들 수 있습니다.

필수 IAM 권한

  1. Google Cloud 콘솔에서 Cloud Build 권한 페이지로 이동합니다.

    권한으로 이동

  2. 빌드의 서비스 계정을 선택합니다.

  3. 다음 역할의 상태를 사용 설정됨으로 설정합니다.

    • Cloud Build 서비스 계정 | 기존 Cloud Build 서비스 계정이 빌드를 업데이트하고, 빌드 로그를 작성하고, 빌드 아티팩트를 저장할 수 있도록 허용합니다.
    • Firebase 관리자 | Cloud Build가 Firebase에 액세스하도록 허용합니다.
    • API 키 뷰어 | 빌드 배포 중에 Cloud Build가 현재 Firebase 호스팅 구성에 액세스하도록 허용합니다.

firebase Docker 이미지 사용

Cloud Build는 Cloud Build에서 firebase 명령어를 호출하는 데 사용할 수 있는 빌더 이미지를 제공합니다. Cloud Build 구성 파일에서 이 빌더를 사용하려면 firebase 빌드 단계를 사용하여 Firebase에 배포하면 됩니다.

  1. cloudbuild.yaml 또는 cloudbuild.json이라는 빌드 구성 파일을 만듭니다. 여기서 PROJECT_ID는Google Cloud 프로젝트 ID이고 FIREBASE_PROJECT_ID은 Firebase 프로젝트 ID입니다.

    YAML

    steps:
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase"
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    ## Or, target a specific version of firebase-tools
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "FIREBASE_PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    


    name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z을 사용하여 특정 버전의 firebase-tools를 선택할 수 있습니다.

  2. 빌드 구성 파일을 사용하여 빌드를 시작합니다.

    gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
    

    각 항목의 의미는 다음과 같습니다.

    • REGION지원되는 빌드 리전 중 하나입니다.
    • CONFIG_FILE_PATH는 빌드 구성 파일의 경로입니다.
    • SOURCE_DIRECTORY는 소스 코드의 경로 또는 URL입니다.

지속적 배포

Cloud Build 트리거를 만들어 Firebase로 소프트웨어를 배포하는 과정을 자동화할 수 있습니다. 트리거를 구성하면 소스 코드를 업데이트할 때마다 이미지를 빌드하고 배포할 수 있습니다.

Firebase 배포를 자동화하려면 다음 안내를 따르세요.

  1. 저장소에서 firebase deploy 명령어 호출 단계에 따라 빌드 구성 파일을 추가합니다. 여기서 PROJECT_ID는 사용자의 Google Cloud 프로젝트 ID입니다.

    YAML

    steps:
          - name: us-docker.pkg.dev/firebase-cli/us/firebase
            args: ['deploy', '--project=PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. 이전 단계에서 만든 빌드 구성 파일로 트리거를 만듭니다.

    1. Google Cloud 콘솔에서 트리거 페이지를 엽니다.

      트리거 페이지 열기

    2. 페이지 상단의 프로젝트 선택기 드롭다운 메뉴에서 프로젝트를 선택합니다.

    3. 열기를 클릭합니다.

    4. 트리거 만들기를 클릭합니다.

      트리거 만들기 페이지에서 다음 설정을 입력합니다.

      1. 트리거 이름을 입력합니다.

      2. 트리거를 시작할 저장소 이벤트를 선택합니다.

      3. 소스 코드와 빌드 구성 파일이 포함된 저장소를 선택합니다.

      4. 트리거를 시작할 브랜치 또는 태그 이름의 정규식을 지정합니다.

      5. 구성: 이전에 만든 빌드 구성 파일을 선택합니다.

    5. 만들기를 클릭하여 빌드 트리거를 저장합니다.

새 코드를 저장소에 푸시할 때마다 Firebase에서 빌드 및 배포가 자동으로 시작됩니다.

Cloud Build 트리거 생성에 대한 자세한 내용은 빌드 트리거 생성 및 관리를 참조하세요.

코드 예

Cloud Build를 사용하여 Firebase에 배포하는 코드 샘플을 보려면 deploy-firebase-example로 이동하세요.

다음 단계