Firebase へのデプロイ
このノウハウガイドでは、CircleCI を Firebase にデプロイするための設定方法について説明します。
はじめに
このページでは、Firebase にデプロイするための設定について説明します。 Firebase にデプロイするには、CircleCI で firebase-tools
をグローバルにインストールしようとしてもできないため、firebase-tools
をプロジェクトの devDependencies に追加する必要があります。
1. ツールのインストール
npm install --save-dev firebase-tools
2. CLI トークンの生成
以下のコマンドを使用して、Firebase CLI トークンを生成します。
firebase login:ci
3. プロジェクトの環境変数にトークンを追加
生成されたトークンを CircleCI プロジェクトの環境変数に $FIREBASE_DEPLOY_TOKEN
として追加します。 シークレットのマスキング を活用するには、環境変数は プロジェクトレベル で、または コンテキスト 内で設定することをお勧めします。
デプロイの例
次の例は、Firebase ジョブとプロジェクトの .circleci/config.yml
ファイルにデプロイを追加する方法を示します。 このスニペットは、アプリケーションをビルドするための build-job
というジョブが既に存在することを前提としています。また、ビルドジョブが完了して、かつメインブランチにいる場合にのみデプロイジョブを実行するデプロイワークフローを紹介します。
version: 2.1
deploy-job:
docker:
- image: <docker-image-name-tag>
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD # context / project UI env-var reference
working_directory: /tmp/my-project
steps:
- run:
name: Deploy Main to Firebase
command: ./node_modules/.bin/firebase deploy --token=$FIREBASE_DEPLOY_TOKEN
workflows:
deploy:
jobs:
- build-job
- deploy-job:
requires:
- build-job
filters:
branches:
only: main
Google Cloud Functions
Firebase で Google Cloud Functions を使用する場合は、以下の行を .circleci/config.yml
に追加し、Google Cloud Functions が保存されているフォルダー (この場合は 'functions') に移動して、npm install
を実行するように CircleCI に指示します。
- run: cd functions && npm install