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

CASE式のすすめ その2

本日も「達人に学ぶSQL徹底指南書」を地道に進めていきます。 Contents1 CASE式の利用2 UPDATE文のCASE3 テーブル同士のマッチング CASE式の利用 私自身はCHECK制約を使 …

no image

laravel+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …

no image

Gitのブランチについて

ちょっといろいろと触っているGitに関して。 前回は作業ディレクトリ、インデックス、コミットについて説明したのですが、今回はブランチについて行います。 Contents1 ブランチとは?2 ブランチに …

no image

PHPMailerに関して(PHPのメール送信)

PHPのMailライブラリに関して。 今までmb_send_mailとかで誤魔化してましたが、以下のようにライブラリで送るケースのサンプル。 https://github.com/umanari145 …

no image

任意のログファイルのログローテションについて

本日は自作のログファイルをうまくローテーションさせる方法について。 自作でログを作っておりますと、日がたつにずれどんどんと容量が膨らんでいきます。 放置するととんでもない量になっていることが多いですね …