Firebaseで静的サイトをデプロイ
簡単だと聞いていたfirebaseでの静的サイトのデプロイを試してみました!
簡単ではあったのですが、始めて挑戦する際はいくつか引っ掛かる点もありました。(英語きちんと読めば引っ掛かることはないと思います。。。)
なのでfirebeseにおけるデプロイまでの流れを自分なりにまとめてみました。
一度やり方がわかればとても簡単です!
動的なサイトも簡単にデプロイできるようなので、今後そちらにも挑戦してみたいです。
デプロイまでの流れ
*firebaseを使うための準備
npsとnode.jsが入っていなければインストールする。
自分は以下の記事を参考にしました。
1.firebaseコマンドラインツールのインストール
$ npm install -g firebase-tools
これでfirebaseコマンドが使えるようになる。
2.firebaseにログイン
$ firebase login
3.必要なファイルやフォルダを生成する
デプロイしたいプロジェクトのディレクトリに移動し、以下のコマンドを実行。
$ firebase init
すると、以下のようなメッセージがでる。
🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥
🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥
🔥🔥🔥🔥🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥
🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥 🔥🔥
🔥🔥 🔥🔥🔥🔥 🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥 🔥🔥 🔥🔥 🔥🔥🔥🔥🔥🔥 🔥🔥🔥🔥🔥🔥🔥🔥
You're about to initialize a Firebase project in this directory:
/Users/hay/projects/html-projects/star
Before we get started, keep in mind:
* You are initializing in an existing Firebase project directory
? Which Firebase CLI features do you want to setup for this folder? Press Space to select features, then Enter to confirm your choices.
(Press <space> to select)
❯◯ Database: Deploy Firebase Realtime Database Rules
◯ Firestore: Deploy rules and create indexes for Firestore
◯ Functions: Configure and deploy Cloud Functions
◯ Hosting: Configure and deploy Firebase Hosting sites
◯ Storage: Deploy Cloud Storage security rules
何を選択するか聞かれるので、使うものにカーソルを合わせ、スペースキーを押して、エンター。
(自分はここでスペースキー押してなくて何回かミスった。英語きちんと読まないといけないと反省。)
静的サイトのデプロイなら、Hostingを選択する。
続いてどのfirebase projectを使うか聞かれるので選択する。
? Select a default Firebase project for this directory: star-42ec5 (star)
star-42ec5を選択し、このままエンターすると、
i Using project star-42ec5 (star)
=== Hosting Setup
このようになる。
この時点でデプロイに必要なファイル等々を生成してくれている。
4.ルートディレクトリの選択
以下のようにルートディレクトリは何にするか聞かれる。
何も書かずにエンターを押すとpublicというディレクトリが生成され、それがルートディレクトリになる。
? What do you want to use as your public directory? public
続いてシングルページアプリか聞かれる。シングルページならYesでエンター。
? Configure as a single-page app (rewrite all urls to /index.html)? Yes
すると、publicディレクトリ配下にindex.htmlが生成され、それがトップページで表示されるようになっている。
index.htmlに色々表示させたいものを書いていけば良い。
5.デプロイ
以下のコマンドを打ってデプロイ。
$ firebase deploy
すると以下のメッセージが出てくる。
=== Deploying to 'star-42ec5'...
i deploying hosting
i hosting[star-42ec5]: beginning deploy...
i hosting[star-42ec5]: found 1 files in public
✔ hosting[star-42ec5]: file upload complete
i hosting[star-42ec5]: finalizing version...
✔ hosting[star-42ec5]: version finalized
i hosting[star-42ec5]: releasing new version...
✔ hosting[star-42ec5]: release complete
✔ Deploy complete!
Project Console: https://console.firebase.google.com/project/star-42ec5/overview
Hosting URL: https://star-42ec5.firebaseapp.com
Hosting URLに書かれているurlにアクセスすると、デプロイしたページが見れるようになっている!