みちのぶのねぐら

Logo 工作室 // 厚生部 // 政治局

Travis CI で Firebase にデプロイする

Update: 2018-07-01

Firebase の hosting と functions を Travis CI でデプロイしてみました。 設定ファイルはこんな感じです。

language: node_js
node_js:
  - "8"
before_deploy: "yarn build"
deploy:
  provider: firebase
  skip_cleanup: true
  token:
    secure: xxxxxxxxxxxxxxxxxx

私の好みで npm ではなく yarn を使っているのですが、 node_js のバージョンがデフォルトではうまくいきません。 "6" より新しければだいじょうぶかな。。。

hosting の対象は Vuetify で作成した SPA ( Single-page application ) で、ビルドが必要です。 そのため deploy.skip_cleanup: true の設定を追加し、 before_deploy: "yarn build" でデプロイの前にビルドします。

npm の場合は yarnnpm に置き換えてください。

Firebase にデプロイするための設定はこちら。 https://docs.travis-ci.com/user/deployment/firebase/

トークンを暗号化するために travis ツールが必要ですね。 まず、 Ruby がなければインストールして、 gem コマンドで入れてやります。

https://github.com/travis-ci/travis.rb#installation

$ gem install travis -v 1.8.8 --no-rdoc --no-ri

travis encrypt コマンドを実行すると .travis.yml に環境変数の設定らしきものが追加されるのですが、 そっちではなく上記の deploy.token.secure にコピペします。

でき上がった .travis.ymlgit push すると Travis が自動でビルドとデプロイをして、、、、あ、エラー、、、

エラーメッセージに従って firebase-functionsfirebase-adminpackage.json に入れてやるとうまくいきました。

$ yarn add firebase-functions -D
$ yarn add firebase-admin -D

npm の場合は npm install -D です。

Tag: Node JavaScript TravisCI Firebase