はじめに
Cloud Functions For Firebaseを使ってアプリケーションを構築していると、デプロイの際に、ステージング環境と本番環境を指定すると思いますが、自分はその度に
firebase use "プロジェクトId"
npm run deploy
するのが非常に億劫でした。
ときにはプロジェクトIDを覚えてなくて、firebase projects:list
でプロジェクトを一覧表示してIDをコピーするなんてこともしていました。
ですが、実はこちら、firebase use
でプロジェクトを切り替えなくても、deployコマンドにオプションをつけるだけでいけちゃうことがわかったので紹介します。
やり方
これだけです!
firebase deploy --project "プロジェクトID" --only functions
ただ、自動生成されたプロジェクトIDはわかりづらいことが多いので、.firebasercファイルに以下のように書くことでエイリアスを指定できます。
{
"projects": {
"stg": "ステージング環境のプロジェクトID",
"prod": "本番環境のプロジェクトID"
}
}
上記のように定義した場合、デプロイコマンドは以下のようにかけます
firebase deploy --project "エイリアス" --only functions
あとはこれを以下のようにnpm scriptsに設定してあげればOKです
"scripts": {
...
"deploy": "npm run build && firebase deploy --project stg --only functions ",
"deploy:prod": "npm run build && firebase deploy --project prod --only functions",
}
おわりに
Firebase便利ですね!
自分は最近仕事の都合でFirebaseのAWSバージョンのようなAmplifyを使うことが多いので、そちらに関する記事なんかもいずれかければと思います!