【Tasks】検証環境のFirestoreのインデックス情報を本番環境にコピーする

検証用のFirestore環境で複合クエリを使用する際にインデックス登録をして、その情報を本番環境にコピーするコマンドのスニペット。

タスクランナーはTasksを想定している。

挙動は以下

1. 検証環境用のFirebaseプロジェクトを選択
2. 検証環境用の情報でfirestore.indexes.jsonを更新
3. 本番環境のFirebaseプロジェクトを選択
4. firestore.indexes.jsonの内容を本番環境へデプロイ
Snippet
Taskfile.yml
version: "3" env: WEB_DIR: "path/to/directory" dotenv: ["path/to/dot/env"] tasks: pro:deploy:firestore-index: desc: "Firestoreのインデックス情報を本番環境へデプロイ" dir: "{{.WEB_DIR}}" cmds: - firebase use $STG_FIREBASE_PROJECT_ID - firebase firestore:indexes > firestore.indexes.json - firebase use $PRODUCTION_FIREBASE_PROJECT_ID - firebase deploy --only firestore:indexes

Output

task: [pro:deploy:firestore-index] firebase use $STG_FIREBASE_PROJECT_ID Now using project stg-project-name task: [pro:deploy:firestore-index] firebase firestore:indexes > firestore.indexes.json task: [pro:deploy:firestore-index] firebase use $PRODUCTION_FIREBASE_PROJECT_ID Now using project prod-project-name task: [pro:deploy:firestore-index] firebase deploy --only firestore:indexes === Deploying to 'prod-project-name'...