コーポレートWebサイトを firebaseに移行しました。
もともと、静的ページで AWS EC2のWindowsサーバにホスティングしていましたが、
色々とメンテナンス性が悪くコストも高いので、段階的にnode.js/Express 化してfirebaseに以降、今週日曜日に移行が終わったので書きます。
できればあとで、参考リンクはやめて手順としてまとめます。
静的ページをNode.js Expressに移行することについては、割愛。
EC2上で、単なるNode.jsのサービスとして80ポートに公開していたサイトの移行です。
1.firebaseのアカウントを作る
2. firebase のプロジェクトを作る
3.ローカルの環境作る
ぐらいまでは以下のQiitaで調べたら特に詰まることなくできます。
簡単にできることを実感でき、firebaseの好感度が上がります。
*リアルタイムデータベースまではやりません。
6. Nodeの環境を作成する
7. 旧サイトをfirebase functions の形式でローカル実行する
これは以下のQiitaを参考にしました。
動くところまでハマりませんでした。
ちょっとハマったのは、デプロイです。
8.firebaseにデプロイする
エラーメッセージで「dependencies」にexpressが入ってないと怒られました。
ローカルではnpm i -Dで依存ライブラリをsaveしていたので「devDependencies」にはいっていいました。
firebaseがきちんと怒ってくれていることに気づかず、いろんなことを調べてしまいました。
エラーメッセージを額面通り受け取れなくなったのは主にMicrosoftさんのせいだと思っています。
9. リライトの設定
firebase functionsは、RESTなAPIを作ることがメインなのでhostingするには冗長なURL構成になります。
firebase.jsonでリライトの設定をすることで、https://ホスト名/以下がnode.jsの呼び出しと一致するようになります。
以下のNode.jsのappを/**に当てはめるというリライトの記述です(/*だとホスト名以下1階層しか見てくれない)