Google AppEngine - сбой автоматического развертывания на движке приложений - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть загрузочное приложение Spring, которое я хочу автоматически развернуть в App Engine. Я не хочу создавать образ докера, а затем развертывать его. Сборка не выполняется из-за 'Cloud SDK not found error'

[ERROR] Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:1.3.2:deploy (default-cli) on project location-finder-rest-api: Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:1.3.2:deploy failed: The Google Cloud SDK could not be found in the customary locations and no path was provided. 

Я следовал всем указаниям на https://cloud.google.com/source-repositories/docs/quickstart-triggering-builds-with-source-repositories.

Согласно документации, файл app.yaml создается в src / main / appengine. Содержимое app.yaml

# [START runtime]
runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored

runtime_config:  # Optional
  jdk: openjdk8

manual_scaling:
  instances: 1
# [END runtime]

Чтобы запустить сборку, мне нужно указать файл cloudbuild.yaml. Содержимое этого файла:

steps:
- name: 'gcr.io/cloud-builders/mvn'
  args: ['appengine:deploy','-Pprod']

Официальный документ для облачного разработчика предлагает использовать 'install' в качестве аргумента шага mvn. Но этот шаг не развертывает приложение.

Мне не хватает какой-либо конфигурации?

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

Под капотом цель appengine:deploy использует Cloud SDK для фактического развертывания вашего приложения. Он не предоставляется изображением gcr.io/cloud-builders/mvn (каждый шаг Cloud Build выполняется в своем собственном контейнере).

Вы можете использовать отдельные шаги сборки для установки и развертывания своего приложения, например:

steps:
- name: 'gcr.io/cloud-builders/mvn'
  args: ['install']
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['app', 'deploy'] 
0 голосов
/ 23 апреля 2019

Он работал путем внесения небольших изменений в решение, предложенное LundinCast выше. Кроме того, плагин appengine maven необходимо обновить до 2.0.0+. Эта версия автоматически загружает необходимые зависимости.

steps:
- id: 'Stage app using mvn appengine plugin on mvn cloud build image'
  name: 'gcr.io/cloud-builders/mvn'
  args: ['package', 'appengine:stage', '-Pprod']
- id: "Deploy to app engine using gcloud image"
  name: 'gcr.io/cloud-builders/gcloud'
  args: ['app', 'deploy', 'target/appengine-staging/app.yaml']
...