Странная ошибка сборки при развертывании GAE с использованием gradle - PullRequest
0 голосов
/ 28 июня 2018

Раньше все работало нормально до сегодняшнего дня. Насколько я знаю, ничего не изменилось, и теперь я получаю это:

C:\mypath>gradle appengineDeploy

> Configure project :
WARNING: You are a using release candidate 2.0.0-rc1. Behavior of this plugin has changed since 1.3.5. Please see release notes at: https://github.com/GoogleCloudPlatform/app-gradle-plugin.
Missing a feature? Can't get it to work?, please file a bug at: https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues.

> Task :appengineDeploy FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':appengineDeploy'.
> Deployment version must be defined or configured to read from system state
  1. Set appengine.deploy.version = 'my-version'
  2. Set appengine.deploy.version = 'GCLOUD_CONFIG' to have gcloud generate a version for you.
  3. Using APPENGINE_CONFIG is not allowed for flexible environment projects

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.8.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 6s
8 actionable tasks: 6 executed, 2 up-to-date

Я только что обновил gradle с версии 4.5.1 до 4.8.1, но та же проблема остается. Я понимаю, что он жалуется на версию приложения, но мне никогда не приходилось об этом говорить, поэтому я думаю, что это связано с некоторым обновлением на стороне Google. Что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Если вы используете

classpath 'com.google.cloud.tools:appengine-gradle-plugin:+'

строка в вашем файле build.gradle, которую вы используете в качестве версии-кандидата 2.0.0-rc3. Хорошо работает с последней стабильной версией: 1.3.5.

0 голосов
/ 28 июня 2018

Теперь вы используете app-gradle-plugin версию 2.0.0-rc1 , как я вижу из вывода вашей консоли, который был выпущен 2 дня назад. В нем есть некоторые изменения, которые разработчики плагина задокументировали.

Как вы можете видеть в Журнале изменений этого кандидата на релиз от Google, в изменениях упоминается:

Проект и версия больше не выводятся из глобального состояния gcloud по умолчанию. Проект должен быть настроен в build.gradle с помощью свойства deploy.project, пользователи могут использовать специальные ключевые слова для проекта, чтобы указать, что они хотели бы прочитать его из appengine-web.xml (project = "APPENGINE_CONFIG") или из глобального состояния gcloud ( project = "GCLOUD_CONFIG"). версия также настроена таким же образом.

Так что вам просто нужно указать в gradle.build следующее:

appengine {
    deploy {
        version = "GCLOUD_CONFIG"
        project = "GCLOUD_CONFIG"
    }
}

Обновление в 2.0.0-rc3 (Спасибо @ wildcat12 за указание на это) в последней версии 2.0.0-rc3 свойство конфигурации project изменилось.

Изменено appengine.deploy.project -> appengine.deploy.projectId

Следовательно, теперь ваша gradle.build конфигурация будет выглядеть так:

appengine {
    deploy {
        version = "GCLOUD_CONFIG"
        projectId = "GCLOUD_CONFIG"
    }
}
...