最終更新:
プロジェクト新規作成を行う。
ここで指定したID(プロジェクトID)はURLに使われる。
また、アプリケーションを新規作成する。
(リージョンの選択が必要)
モジュールのデプロイに先駆けてここまでの準備をしておく。
API ManagerのページでApp Engine Admin APIを有効化する。
認証情報のページでサービスアカウントキーを発行する。
サービスアカウントのプルダウンで“App Engine――”を選択。
キーのタイプは「P12形式」で保存。
また、作成したサービスアカウントの名前を調べておく。
*****@appspot.gserviceaccount.comという部分。
これはあとでwercker.ymlに設定するのでメモしておく。
現在はサービスアカウントの名前が任意に決められるようで、その場合は「XXXXXXXXXXX@YYYYYYYYYYYYYYYY.iam.gserviceaccount.com」のようになる。
XXXXXXXXXXXは任意で入力、YYYYYYYYYYYYYYYYはプロジェクトIDによって固定。
ただし、以下の説明は「*****@appspot.gserviceaccount.com」の場合で記載している。
アプリケーションを新規作成する。
リポジトリの直下に配したwercker.ymlに、以下のようなデプロイ情報を記入。
box: google/cloud-sdk
build:
steps:
- script:
name: deploy to gae
code: |-
gcloud auth activate-service-account *****@appspot.gserviceaccount.com --key-file *****.p12 --project *****
gcloud preview app deploy ./app.yaml --version 1
コード中の「サービスアカウント名」「p12キーファイル名」「プロジェクトID」は適宜変更すること。
以上で完了。
その後はWerkcerのCIジョブが動く毎に自動デプロイされる。
現在はp12ファイルでは無くjson形式が推奨されている模様。
「gcloud preview app deploy」のコマンドは「gcloud app deploy」に改訂されている。
また、versionオプションは必須ではないことが分かった。
(ただしversionオプションを付けない場合15バージョンまでの制約に引っかかる?)
下記のように変更して、現時点で正しく動くことを確認済み。
box: google/cloud-sdk
build:
steps:
- script:
name: deploy to gae
code: |-
gcloud auth activate-service-account *****@appspot.gserviceaccount.com --key-file *****.json --project *****
gcloud app deploy ./app.yaml
http://*****.appspot.com/
にアクセスするとページを確認できる。