firebase CLIで操作用tokenを使う
複数の Google アカウントを使い分けて firebase プロジェクトに関わっていると、いちいちfirebase login
し直さなければならないのが面倒です。
firebase CLI
実行時に、--token
でトークンをオプション指定することでユーザの切替なしにfirebase
コマンドを実行可能になります。
手順
- firebase のトークンを取得する
- firebase コマンドを
--token [token]
オプションを付けて呼び出す
これだけです!
なかなか公式情報が見つからず、Qiita 記事を参考にさせていただきました。
Firebase プロジェクトのデプロイについて
firebase のトークンを取得する
トークンを発行するためのコマンドを打ちます。
firebase login:ci
直後にブラウザから GoogleID へのログインを求められます。
プロジェクトで使用する GoogleID でログインするとトークンが発行されます。
Visit this URL on any device to log in:
https://accounts.google.com/o/oauth2/auth?client_id=xxxxx.apps.googleusercontent.com&
scope=email%20openid%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloudplatformproject
s.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ffirebase%20https%3A%2F%2Fwww.g
oogleapis.com%2Fauth%2Fcloud-platform&response_type=code&state=350386719&redirect_uri
=http%3A%2F%2Flocalhost%3A9005
Waiting for authentication...
✔ Success! Use this token to login on a CI server:
[ここに発行されたトークンが表示されます]
Example: firebase deploy --token "$FIREBASE_TOKEN"
firebase コマンドのトークンに設定して呼び出す
Example: firebase deploy --token "$FIREBASE_TOKEN"
にあるように、なにか変数に入れておくと便利です。
# FIREBASE_TOKENにトークンをセット
FIREBASE_TOKEN=xxxxxxxxxxxxxxxxxxxx
# トークンを付けてコマンドを呼び出す
firebase deploy --token "$FIREBASE_TOKEN"
でもたまに更新を求められる
いろんなプロジェクトをまたがってfirebase-tool
を使用していると、時々トークンが無効である旨が表示され、デプロイやローカル起動に失敗します。
再現条件がよくわかりませんが、この場合はもう一度同じ手順でトークンを再発行すると使えるようになります。