Google Cloud SDK: невозможно развернуть из-за отсутствия точки входа в app.yaml - PullRequest
0 голосов
/ 01 октября 2019

30 июня 2020 года Google закрывает Google App Engine SDK и набор инструментов. Я перенес свой проект на Java 11 и Google Cloud SDK. Проект, над которым я работаю, состоит из сервлетов. Я сталкиваюсь с проблемами во время развертывания, с последней ошибкой, показывающей:

"GCLOUD: Сообщение об ошибке: Не удалось сгенерировать команду приложения: не удалось сгенерировать команду запуска приложения: отсутствует запись точки входа в app.yaml. "

При попытке развернуть, используя:" mvn package appengine: deploy ", выдается следующий вывод:

[INFO] --- maven-war-plugin:2.2:war (default-war) @ hellokb3 ---
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/C:/Users/Emperor/.m2/repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar) to field java.util.Properties.defaults
WARNING: Please consider reporting this to the maintainers of com.thoughtworks.xstream.core.util.Fields
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Packaging webapp
[INFO] Assembling webapp [hellokb3] in [C:\Users\Emperor\eclipse-workspace\hellokb3\target\hellokb3-0.1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\Users\Emperor\eclipse-workspace\hellokb3\src\main\webapp]
[INFO] Webapp assembled in [11192 msecs]
[INFO] Building war: C:\Users\Emperor\eclipse-workspace\hellokb3\target\hellokb3-0.1.0-SNAPSHOT.war
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] --- appengine-maven-plugin:2.1.0:deploy (default-cli) @ hellokb3 ---
[INFO] Staging the application to: C:\Users\Emperor\eclipse-workspace\hellokb3\target\appengine-staging
[INFO] Detected App Engine app.yaml based application.
Oct 01, 2019 3:16:26 PM com.google.cloud.tools.appengine.operations.GcloudRunner run
INFO: submitting command: C:\Users\Emperor\AppData\Local\google\ct4j-cloud-sdk\LATEST\google-cloud-sdk\bin\gcloud.cmd app deploy --version 1 --project kbnetworld
[INFO] GCLOUD: Services to deploy:
[INFO] GCLOUD:
[INFO] GCLOUD: descriptor:      [C:\Users\Emperor\eclipse-workspace\hellokb3\target\appengine-staging\app.yaml]
[INFO] GCLOUD: source:          [C:\Users\Emperor\eclipse-workspace\hellokb3\target\appengine-staging]
[INFO] GCLOUD: target project:  [testworld]
[INFO] GCLOUD: target service:  [default]
[INFO] GCLOUD: target version:  [1]
[INFO] GCLOUD: target url:      [https://testworld.appspot.com]
[INFO] GCLOUD:
[INFO] GCLOUD:
[INFO] GCLOUD: Beginning deployment of service [default]...
[INFO] GCLOUD: #============================================================#
[INFO] GCLOUD: #= Uploading 2 files to Google Cloud Storage                =#
[INFO] GCLOUD: #============================================================#
[INFO] GCLOUD: File upload done.
[INFO] GCLOUD: Updating service [default]...
[INFO] GCLOUD: .........................................................................................................................................................failed.
[INFO] GCLOUD: ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build da851139-6c89-4065-93c0-0940580b6af8 status: FAILURE.
[INFO] GCLOUD: Error ID: 80D70A67.
[INFO] GCLOUD: Error type: InternalError.
[INFO] GCLOUD: Error message: Failed to generate app command: failure to generate application start command: missing entrypoint entry in app.yaml.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:09 min
[INFO] Finished at: 2019-10-01T15:17:16+01:00
[INFO] ------------------------------------------------------------------------

Создан толстый фляга, поэтому он хорошо компилируется,Я проверил это и вижу, что все зависимости включены.

В соответствии с документацией можно развернуть приложение с конфигурацией YAML, в которой будут выполняться среда выполнения и любые фатжары. Однако сборка завершается неудачно, и необходимо добавить точку входа в файл yaml, несмотря на то, что это необязательное поле в документации.

runtime: java11

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

Я настроил свои сервлеты в web.xml.

Кто-нибудь сталкивался с чем-то подобным и может указать мне, почему развертывание не удается? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Возможно, вы захотите обновить ваш Cloud SDK до последней версии 265.0.0 . В частности, для App Engine добавлена ​​поддержка:

  • непосредственного развертывания Java11-фиджара
  • зависимых от записи путей к классам для развертывания фиджара Java11

Itнеобходимо для соблюдения упомянутого требования здесь , чтобы пропустить определение точки входа в файле app.yaml:

Нет необходимости в точке входа с одним fatjar с правильным входом пути к классу манифеста.

Чтобы перейти на новейшую версию Cloud SDK, просто запустите:

gcloud components update
0 голосов
/ 02 октября 2019

Я бы сказал, что проблема может быть связана с этим комментарием трекера общедоступных проблем , поскольку есть некоторые сходные моменты, и аппроксимация путем развертывания приложения hello world может подойти вам.

Убедитесь, что плагин maven требует удалить файл appengine-web.xml и заменить его на файл app.yaml, расположенный в / src / main / appengine /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...