寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。

Appengine Node.js Standard Environmentをデプロイしてみる(quickstart)

まず初回は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のデプロイ簡単ですね!