0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Firebase Hosting のWebサイトをcronから定期デプロイ(ラズパイ)

Last updated at Posted at 2019-02-23

やること

題名のままですがFirebase Hosting のWebサイトをcronから定期デプロイします。
調べてみても、CIと連携してGitHubへプッシュしたときに自動デプロイする方法しかなかったのでメモです。

本来サイトの情報更新はFirebaseのデータベースとJavaScriptで行うのが正だと思いますが
更新頻度が少ない & JavaScriptの知識が少ないのでこんな方法を試してみた次第です。

実行環境

  • Raspberry Pi 3 Model B
  • Raspbian9.4
  • Firebase 6.3.1
  • Webサイトは作成済みでFirebase deploy ができる状態

FIREBASE_TOKENの取得

cronからデプロイする際は認証トークンが必要なのでターミナルで下記を実行。

firebase login:ci

ブラウザが開いたらログイン。

image.png

Woohoo! ログイン成功。ターミナルにトークンが表示されます。

+  Success! Use this token to login on a CI server:

1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   <=トークン

Example: firebase deploy --token "$FIREBASE_TOKEN"

cronにタスクを追加

この記事ではシェルスクリプトは作らず直接cronから実行とします。

firebase deploy の前にfirebase.jsonのあるディレクトリに移動します。

* * * * * cd hoge/hogehoge && firebase deploy --token 1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

これだけではcronから実行するときのPATHと、ターミナルから実行するときのPATHが
違っていた場合に実行できないのでcron実行時のPATHを指定してやる必要があります。

ターミナルでecho $PATH を実行し、PATHを確認してcronで指定します。

PATH= 'ここでPATHを設定'

* * * * * cd hoge/hogehoge && firebase deploy --token 1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

これで定期デプロイができます。
以上、初投稿でした。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?