まず初回はquickstartに倣ってデプロイしてみるだけ。
ほぼ こちら のクイックスタートのままやってみようと思う。
事前に必要なもの(というかもう設定済みなので)
- GCPのアカウント作成(gmailアドレスあればすぐ)
- GCPのプロジェクト作成(適当にGCPコンソールからポチポチっと)
- Google Cloud SDK(gcloudコマンド)のインストール
- gcloudコマンドのログイン処理
- nodeのインストール(npmコマンド使うらしいので)
ドキュメントには、GCPコンソールからプロジェクトを作成して、アプリケーションリソースのリージョンを指定して、課金を有効してーって書いてありますね。ま、その辺やっておきましょう。
Githubにあるサンプルコードをダウンロードする
適当なディレクトリでgit cloneをします。
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
ですね、当たり前のやつです。
nodejs-docs-samples
というディレクトリが落ちてきますが、その中の appengine/hello-world/standard
というのが今回使うディレクトリです。
他にも山のようにディレクトリありますが、参考になりそうなので時間のあるときにでも目を通しておきましょう。
対象のディレクトリに移動
cd nodejs-docs-samples/appengine/hello-world/standard
を実行
依存関係のインストール
依存モジュールのインストールを行います。
最新のnodeでやろうと思いましたが、nodebrewの設定がおかしくなっていたようなので、 node v10.9.0
で実行します。
npm install
ローカルhttpサーバで実行してみます。
npm start
ローカルホストの 8080
ポートで起動するようなので
http://locahost:8080
へブラウザでアクセスしてみます。
Hello, world!
と表示されれば成功しています。
先程サーバを起動したターミナルを抜ける場合には ctrl + c
でquitできます。(画面に出てますね。一応親切心で書きましたw)
デプロイしてみる
事前にGCPのプロジェクトの作成は済んでますか?
appengineのregionの設定は済んでますか?
では、okdであればデプロイしましょう。
gloud app deploy --project {PROJECT_ID}
quickstartのドキュメントには gcloud app deploy
だけで良いとありますが、gcloudコマンドに事前にcurrentのprojectを設定していない場合などハマる場合があるので引数つけてます。
ちなみに time app deploy --project {PROJECT_ID}
のような形で初回デプロイを計測しましたが、 2分20秒ほどかかりました。
2回目からはもう少し速いはずです。
デプロイしたアプリケーションにアクセスしてみる
デプロイしたログに
Deployed service [default] to [https://{PROJECT_ID}.appspot.com]
と表示されているのでそのURLに直接ブラウザからアクセスしてもOKです。
コマンドでカッコよくアクセスしたい場合には
gcloud app browse --project {PROJECT_ID}
のようにコマンドを実行すれば自動的にブラウザが起動するはずです。
GAE/SE nodeのデプロイ簡単ですね!