LoginSignup
3
1

More than 3 years have passed since last update.

[Firestore] CircleCIを利用したFirestoreの定期バックアップ

Posted at

CircleCIのスケジュール実行を利用したFirestoreの定期バックアップ

Firebaseの「データのエクスポートのスケジュールを設定する」をぱっと見て面倒くさそうとなったので、CircleCIのcron使ってFirestoreのバックアップを取ることにしました。

下記の環境変数とgcloud beta firestore --quiet export gs://firestore-backupのgs://以降を変更すれば同じように動かせると思います。

version: 2.1
jobs: 
  backup-database:
    docker:
      - image: google/cloud-sdk
    steps:
      - checkout

      - run:
          name: setup gcloud
          command: |
            echo $PRODUCTION_GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=-
            gcloud --quiet config set project ${PRODUCTION_GOOGLE_PROJECT_ID}
            gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE} 

      - run:
          name: backup production database
          command: gcloud beta firestore --quiet export gs://firestore-backup

workflows:
  version: 2
  nightly:
    triggers:
      - schedule:
          cron: '0 15 * * *'
          filters:
            branches:
              only: master
    jobs:
      - backup-database
3
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1