🔥Firebase本番デプロイで「絶対」にやるべき2大安全ステップ
WRITTEN BYMeg 開発環境で動いたからと本番デプロイで油断していませんか?本記事では、Firebaseを用いた本番リリース時に必須の「人の目による手順遵守」に焦点を当て、Gitブランチ管理の重要性から、.firebasercやfirebase.jsonの環境切り替え、そしてローカルでの最終検証という、絶対に欠かしてはいけない2つの安全ステップを徹底解説します。
「開発環境で動いたから、本番もそのままデプロイすれば大丈夫!」と油断していませんか?実は、本番公開の直前には、意図しないコードの混入を防ぎ、安全にリリースするために、ツール上の数値だけでなく「人の目による確認と手順の遵守」が不可欠です。
というわけで、安全なデプロイを支える2つの重要ステップをまとめました。
ステップ1:Gitでの「ブランチ視覚化」とマージの判断
本番公開の準備として、まずはターミナルから正しい作業ブランチにいるかを確認することから始めます。VSコードの標準機能は便利ですが、たまに同期の反応が遅れることがあるため、私たちは必ずターミナルで git branch を叩いて現在位置を確認する習慣をつけています。
そして、ここからが重要なプロセスです。
⚠️ 「最新コードをすべてマージする」が正解とは限らない
本番にデプロイする際、「開発環境にある最新の変更をすべて取り込めばいい」と考えがちですが、これは危険です。 なぜなら、開発環境には「まだ本番に公開してはいけない、他メンバーが開発中の機能」が含まれている可能性があるからです。
私たちは、ブランチの分岐や歴史を視覚化するツール(Gitの履歴可視化ツールなど)を使い、以下の点をトリプルチェックしています。
- 影響範囲の確認: 自分の修正が、デブ環境の他のコードと衝突(コンフリクト)しないか。
- マージの要否判断: 今回のリリースに関係のない他人のコード(未公開機能)を、誤って本番に巻き込んでしまわないか。
開発はバラバラに進めても、最後のリリース順序のコントロールとマネジメントが、事故を防ぐ最大の砦になります。
ステップ2:Firebaseの向き先(.firebaserc)の切り替えと検証
コードの確認が終わったら、いよいよFirebaseへのデプロイに移ります。ここで最も油断しやすく、デプロイの成否を分けるのが環境(プロジェクト)の切り替えです。
🔄 .firebaserc によるプロジェクト制御
Firebaseでは、どの環境(開発環境なのか、本番環境なのか)に対してコマンドを実行するかを .firebaserc というファイルで定義・コントロールしています。
// .firebaserc のイメージ
{
"projects": {
"default": "your-dev-project-id",
"master": "your-production-project-id"
}
}
デプロイ前には必ず以下のコマンドを使い、自分のローカル環境が向いている先を本番環境(master)に切り替えます。
firebase use master
💻 ローカルサーバーでの最終検証
切り替えが完了したら、すぐに本番へ firebase deploy を実行するのではなく、一度ローカル環境で本番用プロジェクトの挙動を模倣して立ち上げます(firebase serve など)。
本番用のテストアカウントでログインし、以下の項目にエラーが出ないか最終確認を行います。
- Firestore / Storage のルール(Rules): 今回の修正で、新しいセキュリティルールや権限管理のセッティング、フォルダコントロールの追加が必要なかったか。
- Firebase Functions: 新しく追加・変更した関数が、本番環境の権限で正しく動作するか。
🚨 一番の落とし穴:firebase.json の修正忘れ
最後の最後に一番油断できないのが、firebase.json 内のホスティング(Hosting)設定です。
ここのターゲット名やサイト名の指定が本番環境用に正しく書き換わっていないと、「何度デプロイしても成功しない」、あるいは「デプロイ自体は成功ステータスになるのに、実際のURLにアクセスしても古い状態のまま動かない」という2つの痛いパターンにハマることになります。
仕上げ:デプロイ後の合流(メインブランチへのマージ)
本番へのデプロイが無事に完了し、ユーザー側での動作確認(またはクライアントへの引き渡し準備)が終わったら、最後の仕上げを忘れてはいけません。
- Gitを再度、開発環境に切り替える。
git pullで最新の状態にする。- 今回本番公開した自分の作業ブランチを、開発環境のメインブランチにマージ(合流)させる。
- リモートへ
git pushする。
これにより、自分が開発して本番にリリースした成果物が、正式にチームの「メインの舞台」へと合流し、次回以降の開発のベースラインとなります。
まとめ
本番公開は、どれだけ経験を積んでも毎回少しのドキドキを伴うものです。だからこそ、
- ツールを過信せず、ターミナルや可視化ツールで現状を二重チェックする
.firebasercやfirebase.jsonの向き先確認をルーティン化する
という基本的な手順の徹底が、安定したプロダクト運用と、開発者としてのステップアップに繋がります。皆さんもデプロイ前の「最後の数分間のチェック」、ぜひ意識してみてください!
