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

クロスドメインがらみのajax

ajaxで別ドメインに対して、プログラムを実行したい時に注意すべきことなどを。 Contents1 ログ、レスポンスヘッダをとにかく追う2 特定ドメインからの許可3 フレームワーク側での認証ロジック( …

no image

ロードバランサーの構築(dockerを例に)

以前から興味のあったロードバランサーをdockerで構築。 Contents1 ロードバランサーとは?1.1 定義1.2 メリット1.2.1 負荷軽減1.2.2 可用性の向上1.2.3 拡張性の向上1 …

no image

MySQLのロックに関して+サブクエリ内のupdate

MySQLのロックに関して。 データベースではデータの整合性を保つために読み書きを一時的に制限する仕組みがあります。(データベースだけではないですが・・・) 大きく分けると共有ロック(書き込みは当然だ …

no image

cakePHPでの直SQL

今回はCakePHPにて直のSQLを書く方法を。 cakePHPにて大概の処理はもともと備わっているコマンドでなんとかなりますが、まれに直SQLを書いたほうがらくなこともあります。 書き方その1 [c …

no image

CakePHPでの数字カンマ区切り&PHP&MySQL曜日の出力

今回は主に時間やお金の表示など、出力に関するネタです。 Contents1 Cakeでのカンマ区切り1.1 単純なカンマ区切り 例1,0001.2 \をつけるケース 例 \1,0001.3 円をつける …