Deploymentです。継続的インテグレーション/継続的デプロイです。丁寧に書こうとしすぎて長くなっていますが、この話の本質はここにあります。前提バージョン6以上のnodeをインストール済みFirebase兎にも角にもCI/CDを回す対象となるFirebaseプロジェクトが必要です。Firebaseのプロジェクトを用意しましょう。CIの節までスキップしてください。consoleにログインし、プロジェクトを作成しましょう。consoleに入る必要があるのでこの方が早いと思います。「プロジェクトを追加」をクリックします。プロジェクト名を入力します。アナリティクスを利用するか聞かれます。今回は不要なので「今は設定しない」を選択します。待つとプロジェクトが作成されます。initを実行するときに、デフォルトロケーションを設定していないと怒られるので、デフォルトロケーションの設定も今のうちに終わらせておきます。プロジェクトの詳細画面に移動し「プロジェクトの設定」をクリック。ロケーション」という項目が未設定となっていると思うので、右の編集ボタンをクリックしてロケーションを選択します。今回は「asia-northeast1」を選択します。asia-northeast1は東京、asia-northeast2は大阪らしいです。ロケーションを参照してください。Firestoreを使用する場合、予めデータベースを作成する必要があります。「Database」に移動します。お好きな方を選択して次へ。Databaseを作成する場合は、ここでロケーションを設定しても良いです。Firebaseプロジェクトの作成は以上です。firebase-toolsをインストール公式ドキュメントを参考に、firebase-toolsをインストールしましょう。CIに設定するためのトークンを取得するのにも使います。firebase-toolsインストールが完了したら以下のコマンドを実行してGoogleアカウントでFirebaseにログインします。loginfirebase-toolsでプロジェクトを用意するFirebaseプロジェクトを作成したいフォルダで、以下のコマンドを実行します。initすると使用したいFirebaseの機能を聞かれるので、必要なものを選びます。今回はDatabase以外のすべてを選択します。選択したらEnterへ次へ。rules続いてFirebaseプロジェクトについて聞かれます。projectプロジェクトを選びます。(firebase-travis-ci-example)質問に答えていきます。今回はFunctionsの設定だけ変更していますが、それ以外はデフォルトのままです。complete!このあとビルドで何も書いてないとエラーとなってしまうため、functions/index.ts内のソースをコメントアウトしておきます。Firebase!");});またlintとbuildは後述の.travis.ymlに書くため、firebase.jsonのpredeployは消してしまいましょう。"storage.rules"}}以上でプロジェクトのセットアップは完了です。このプロジェクトをGitHubの適当なリポジトリにPushしておいてください。ようなファイル構成になっているはずです。これでCI/CDを回す準備が整いました。CIの設定をしていきます。CIにログインし、右上のアバター画像をクリックして設定画面を開きます。設定画面にGitHubに作成したリポジトリの一覧が表示されているので、対象のリポジトリをONにします。$FIREBASE_TOKEN以上です。CIにはFirebaseにデプロイするためのプロバイダーが用意されているので、本当はそれすら必要ありません。installはfunctions内にあるpackage.jsonのパッケージをインストールするためのコマンド、そのあと同フォルダのlint、buildと続きます。""などのコマンドに置き換えてください。testを勝手に実行されてエラーとなってしまうため置き換える必要があります。CIにFirebaseのTokenを設定する。.travis.ymlに$FIREBASE_TOKENというものが登場しましたが、これは当然勝手に入るものではないので自分で設定してあげる必要があります。CIに設定するためのトークンを取得します。login:ciブラウザが立ち上がるので、ログインするとシェルに以下のようなトークンが出力されているはずなので、これをクリップボードにコピーします。CIの設定画面に移り、対象のリポジトリの「Settings」ボタンをクリック。Variables」の項目を入力し、「ADD」ボタンで追加します。先の手順で取得したトークン以上で設定完了です。pushしてちゃんとデプロイされているかチェックしてみましょう。Buildが走り出すとこんな感じになります。成功するとこうなります。GitHubとのCI連携を確認します。適当にプルリクエストを作成してテストしてみます。エラーが出るのがわかりきっている悪意溢れるプルリクエストを作成してみましょう。Firebaseも見ていきます。Functionsに関数が増えています。Hostingもちゃんと出来てますね。さいごに今回の例のソースコードは以下にありますので参考まで。https://github.com/itigoore01/firebase-travis-ci-exampleあと、鈴木商店では仲間を募集しています。コメントをキャンセルメールアドレスが公開されることはありません。