2020年2月4日火曜日

firebaseのfirestoreでdevelopからproductionへindexesをコピーしたい的なお話

  • このエントリーをはてなブックマークに追加

develop環境がベースで、複合インデックスやら何やらを試すことが多いわけで。
で、うまくいったから本番にも反映したいなぁっていうときにGUIでいちいちぽちぽちするのは地味に辛かったり。

なので今日はそれを簡単に行うには的なお話をば。

# package.json
{
  "scripts": {
    "deploy:indexes": "firebase --project=production deploy --only firestore:indexes",
    "predeploy:indexes": "firebase --project=develop firestore:indexes > rules/firestore.indexes.json",
  }
}

# firebase.json
{
  "firestore": {
    "indexes": "./rules/firestore.indexes.json"
  }
}

上記のようにpackage.jsonにscriptsを書いて、firebase.jsonに指定をすればよい。
firebase-toolsにはfirestore:indexesというコマンドが用意されており、それを使うと引っ張ってこれるので所定の場所に置き、その置いたファイルを元にindexesをdeployするといった感じ。

コマンドでrulesとかも同様にdevelopからproductionに移せたらいいなぁと思ったけどそんなコマンドはなかったので残念。
コマンドのリストはこちらから

ってな感じでやってあげれば、GitHub Actionsなりで自動的にmasterマージしたら本番環境にindexesも反映される的なみたいな。

0 件のコメント:

コメントを投稿

Adsense