skillup

技術ブログ

Database サーバー・ネットワーク

Firebaseでのミニアプリデプロイ

投稿日:

KVS的なDBを使うかもしれず、firebaseの復習をしております。以前、firebaseのサンプルなどちょこちょこ動かしましたが、firebaseに登録をしただけでデプロイまではしておりませんでした。

簡単にデプロイまではできたので、メモ。

https://github.com/umanari145/firebase

概要

firebaseはただ単にKVS型のデータを格納しておくだけではなく(最初そういうものかと思っていました。)、アプリ自体をデプロイしておくことができます。

DBだけではなく、アプリ自体をサーバーなしで配置できるインフラ環境になるかと思います。

こういったサービスのことをBass(Backend as a Service)と言います。

ログイン

npm install -g firebase-tools; のあと、

firebase login を入力すると、

上記のようなメッセージがでます。

URLにアクセスするとgoogleアカウントの認証を要求されるので、実際に認証するとハッシュ値がでてくるのでコピペしてあげれば、下記のようにメールアドレスが表示されます。

プロジェクト作成

firebase init で実際のプロジェクトが作成されます。

デプロイ

作ったものをデプロイする場合には firebase deploy でOKです。

上記のようなメッセージが吐かれて、無事にデプロイされます。

URLにアクセスすればアプリが確認できます。以下構成をみていきます。

使用できるサービスについて

functions

ここにAPIを実装することができます。

functions/index.js

一般的な新規作成、一覧、編集、削除(おまけで全削除)のRESTAPIです。とりあえず認証などはかけずに作ってみました。

上記のようなAPIを書いておき、firebaseにデプロイするとRESTAPIができています。

それぞれ対応するHTTPリクエストを書いて起きた時に、しっかりと結果を返してくれます。

ローカルでテストをするときは node functions/index.js とうちnodeのサーバーを立てましょう。

functionsの部分は独立した部分のようでいわゆるバックエンド側になるかと思います。

このディレクトリ自体にpackage.jsonを置いてライブラリをインストールし、このディレクトリ独自で管理することが一般的のようです。

hosting

冒頭でも書きましたが、当初KVSのサーバーだけをかりてファイルなどは別の箇所に置いておくものかと思いました。(そういう使い方ももちろんできますが・・)

.firebaserc

上記のファイルのhostingの部分がfirebaseのホスティングサービス(hosting)の設定になります。( firebase init 時に作られます。)

一般的にはpublic以下に公開ファイルをおくことが多いかと思います。ここにindex.htmlなどを置いてアクセスしてあげればfirebaseにデプロイした時にアプリを確認することができます。

参考リンク

Firebaseでデプロイしよう!

【第4回】 Firebase Hosting でスタティックな Web ページをデプロイしよう!【はじめてみよう Firebase】

-Database, サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

set,ifディレクティブ,変数に関して

これまで基本的なnginxの設定についてみてきましたが、今回はset,ifディレクティブについてみていきます。 Contents1 変数とset2 error_page3 名前付きlocation 変 …

no image

MySQLのLIMIT,OFFSETに関して&explainの見方など

自作のWEBアプリを作っていたところSELECT句が異常に遅いケースがありました。 発見までにかなり時間がかかったんですが、不可思議な現象としてはOFFSETが小さいときと大きいときで検索スピードが全 …

no image

vimの設定に関して

今の開発ではほとんどeclipseを使っていますが、プログラミングをやり始めてから2年ぐらいはずっとgvim(vimのGUI版)でした。 別にこだわりがあったわけではないんですけどね。 最初にならった …

no image

メール送信に関して その1 おおまかな送受信の仕組み

php-fpmを変えてから大分動きがよくなりましたね・・サーバーのレスポンスがはやい・・ 今回から数回に分けてメール送信の仕組みについて学習していこうと思います。 インフラ系の知識がやっぱり怪しいもん …

no image

テストのダミーデータ作成

データベースに大量のデータを作りたいときにいつもあああやhoge,aaaですとデータという感じがしないですし、抽出や集計ができません。 なるべく自然に近いデータが欲しいのですが、簡単に作れる方法があり …