google cloud
の App Engine をローカルからデプロイする手順を試してるかと思った。
これ に従ってポチポチしていると、肝心のデプロイのところでエラーになった。
$ gradle appengineDeploy
(... 中略 ...)
* What went wrong:
Execution failed for task ':appengineDeploy'.
> Deployment projectId must be defined or configured to read from system state
1. Set appengine.deploy.projectId = 'my-project-id'
2. Set appengine.deploy.projectId = 'GCLOUD_CONFIG' to use project from gcloud config.
3. Using appengine.deploy.projectId = 'APPENGINE_CONFIG' has been deprecated.
gcloud config
でプロジェクトIDを設定し忘れたか? と思いセット。
gcloud config set project my-great-project
解決せず。
結局、build.gradle
の一部に情報を付け加えないとダメなようで。
build.gradle
appengine {
deploy { // deploy configuration
stopPreviousVersion = true // default - stop the current version
promote = true // default - & make this the current version
projectId = 'cactack-app2' // ★ ここ追加。
version = 'GCLOUD_CONFIG' // ★ ここ追加。'GCLOUD_CONFIG' という文字列を書くだけ。
}
}
projectId = 'GCLOUD_CONFIG'
もOKらしい。その場合は事前に gcloud config
でプロジェクトIDのセットが必要と思う。
どこかにはしれっと書いてあって自分が見落としているだけな気もする。。。
ちなみに
手順の中で jetty
を使ってローカルデバッグする方法が書かれているが、springを使おうとするとgradleとjdkとjetty runtimeとspringのバージョンの互換性の問題? でエラーが出まくって死んだ。
windows10 + gradle6.7 + jdk11 + jettyRuntime9 でうまく動いている人がいれば教えてください。
別にjettyにこだわらないので構わないが、悔しいので目下解決策を探し中。