Google App Engine に Go アプリをデプロイする際のチートシート
概要
Google App Engine に Golang のアプリをデプロイする際に使うコマンドとかを確認用にまとめます。チートシート的な使い方をイメージしてます。
cloud SDK のアップデート
$ gcloud components update
プロジェクトの作成
$ gcloud projects create [プロジェクトID] --set-as-default
プロジェクトのデフォルト切り替え
$ gcloud config set project [プロジェクトID]
プロジェクトの説明表示
$ gcloud projects describe [プロジェクトID]
プロジェクトの一覧表示
$ gcloud projects list
プロジェクトの削除
$ gcloud projects delete [プロジェクトID]
go の App Engine のインストール
$ gcloud components install app-engine-go
go のサンプルアプリのダウンロード
$ go get -u -d github.com/GoogleCloudPlatform/golang-samples
go のHelloWorldアプリへの移動
$ cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/appengine/go11x/helloworld
$GOPATH は人によります。僕の場合は ~/.go であり、.zshrc に下記のようにPATHの設定をしてあります。
export GOPATH="${HOME}/.go"
go のHelloWorldアプリのデプロイ
$ gcloud app deploy
ERROR: (gcloud.app.deploy) The required property [project] is not currently set.
You may set it for your current workspace by running:
$ gcloud config set project VALUE
or it can be set temporarily by the environment variable [CLOUDSDK_CORE_PROJECT]
# 上記のようなエラーが出たので設定
$ gcloud config set project [プロジェクトID]
# 改めてデプロイ
$ gcloud app deploy
ERROR: (gcloud.app.deploy) Error Response: [7] Access Not Configured.
Cloud Build has not been used in project [project ID] before
or it is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/cloudbuild.googleapis.com/overview?project=[project ID]
then retry. If you enabled this API recently,
wait a few minutes for the action to propagate to our systems and retry.
# 言われた通り上のサイトを訪れて有効化して改めてデプロイ
$ gcloud app deploy
デプロイしたgoアプリの確認
$ gcloud app browse
下記に飛ばされて、Hello World と表示されているはず。
https://[プロジェクトID].appspot.com
次は簡単な自作CRUDアプリをGAE (Google App Engine)にデプロイしようと思います。