誰もがなんども書いたネタだけど最低限の内容で残す。

①プロジェクトの配下に

.circleci/config.yml

を作成する

②内容を書く

# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#
version: 2
jobs:
build:
docker:
- image: circleci/node:8

working_directory: ~/repo

steps:
- checkout

- run: npm install

- run:
name: 'Install Dependecies'
command: npm install --save-dev firebase-tools

- attach_workspace:
at: .

- run:
name: 'Deploy to Hosting'
command: node_modules/.bin/firebase deploy --only hosting --project "$FIREBASE_PROJECT_ID" --token "$FIREBASE_TOKEN"

ここまで一旦GithubにPushしておく。

ここで重要なのは
・$FIREBASE_PROJECT_ID
・$FIREBASE_TOKEN

これらを環境変数としてCircleCIに設定する必要がある

③トークンを調べる

自分のローカルで

firebase login:ci

と打つと何やらURLが表示されブラウザが開く。
そしたらFirebaseでつかってるGoogleアカウントでログインする
無事にログインするとコンソールに何やら出てくる。

✔  Success! Use this token to login on a CI server:
1-3rjJIBzbz-sdg45-kZOMSRV-rtyjturtgterte-hic_UA3HxUjny1Wfjx

このトークンとプロジェクトIDを設定していく。
プロジェクトIDはFirebaseコンソールトップでも確認できる
プロジェクト名の下の薄いグレーの文字がID

④Circle CIの環境変数を設定する

Settings -> Projects -> 対象プロジェクト↗️の歯車を押す。


Environment Variables -> Add Variable で
・Name:FIREBASE_PROJECT_ID Value:プロジェクトID
・Name:FIREBASE_TOKEN Value:トークン
を設定してあげる

ここまでやってGithubにpushすれば
とりあえず自動でFirebase Hostingにデプロイされる!