FirestoreとStorageのセキュリティルールをGitHub Actionsで自動デプロイする
GitHub Actions を使って、Firestore と Storage のセキュリティルールを自動デプロイするようにしたのでメモする。
w9jds/firebase-actionを使って、Firebase CLI を実行するようにしている。
このあたりを参考にさせていただいた。
GitHub Actions の設定ファイルはこんな感じになった。
name: DEV - Apply Firebase Security Rules
on:
- workflow_dispatch
- pull_request
jobs:
apply-security-rules:
name: Apply Firebase Rules (Development)
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Apply
uses: w9jds/firebase-action@master
with:
args: deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
PROJECT_ID: ${{ env.FIREBASE_PROJECT_ID }}
args: deploy
のところは、デプロイ対象に応じて、--only firestore:rules
や --only storage:rules
などを指定することもできるが、hosting や functions を使っていないので、全部デプロイするようにしている。
本番用には、CI の実行タイミングとPROJECT_ID
を変えて、別の設定ファイルを作成すればよい。