4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[GCP]Google App EngineでWebアプリを公開するまでの一連の流れ

Last updated at Posted at 2019-10-09

はじめに

node.jsで作成したWebアプリをGoogle App Engine(以下、GAE)にデプロイするまでの一連の流れをまとめています。

手順

1. ローカルマシンにnode.jsのインストール

ローカルで作成したnode.jsアプリをテストしたい方は、node.jsをインストールしてください。
ローカルでテストをしない方はこの手順を省略しても問題ありません。

ダウンロード先
https://nodejs.org/ja/download/

2. Cloud SDKのインストール

インストール手順
https://cloud.google.com/sdk/install?hl=ja

3. 必要なファイルの作成

適当なフォルダを作成し、app.jsapp.yamlpackage.jsonを保存します。
参考までに、express(node.jsのWebアプリケーションフレームワーク)を用いて Hello, world! を表示するプログラムを記載しておきます。
なおapp.jsapp.yamlはGAEのチュートリアルで扱われているものです。

app.js
'use strict';

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.status(200).send('Hello, world!');
});

if (module === require.main) {
  const server = app.listen(process.env.PORT || 8080, () => {
    const port = server.address().port;
    console.log(`App listening on port ${port}`);
  });
}

module.exports = app;
app.yaml
runtime: nodejs10
packege.json
{
    "scripts": {
        "start": "node app.js"
    },
    "dependencies": {
        "express": "^4.16.4"
    }
}

4. アプリの有効化

GAEの画面で「設定を有効化」をクリックしてください。

image.png

次に「アプリケーションを有効にする」をクリックしてください。

image.png

5. デプロイ

3で作成したフォルダ内でgcloud app deployコマンドを実行してください。

6. Webアプリの表示

gcloud app browse コマンドを実行してください。
Hello, world! が表示されます。

もしくはGAEの画面からもWebアプリの表示ができます。
サービス名(ここではdefault)をクリックしても表示できます。

image.png

バージョンをクリックしても表示できます。

image.png

トラブルシューティング

デプロイ時にエラーが出る

gcloud app deployコマンド実行時に以下のエラーが表示される場合は、「4. アプリの有効化」の設定をしていないものと思われます。

ERROR: (gcloud.app.deploy) Unable to deploy to application [プロジェクトID] with status [USER_DISABLED]: Deploying to stopped apps is not allowed.

Hello, world! が表示されない

Stackdriver Loggingでログを確認してください。
以下のメッセージが表示されている場合は、packege.jsonで"start": "node app.js"の指定がされていないものと思われます。
この記載がないとデフォルトでserver.jsを実行しようとするようです。

Error: Cannot find module '/srv/server.js' at Function.Module.

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?