#gradle #groovy #jenkins-pipeline
#gradle #groovy #дженкинс-конвейер
Вопрос:
У меня есть шаг для «загрузки» в моей Jenkins
работе. Этот шаг должен загрузить артефакт в Nexus
, этот этап работает нормально.
Проблема возникает, когда я пытаюсь передать параметры на Gradle
сторону, она возвращает мне эту ошибку:
groupParam =
СБОЙ: сбой сборки с исключением.
Где: Файл сборки ‘/var/jenkins_home/workspace/Pipeline с Gradle/build.gradle’ строка: 33
Что пошло не так: возникла проблема с настройкой корневого проекта ‘MyFirstApp’.
Не удалось получить неизвестное свойство ‘groupParam’ для задачи ‘:roeyUpload’ типа org.gradle.api.tasks.Загрузка.
Попробуйте: Запустите с параметром —stacktrace, чтобы получить трассировку стека. Запустите с параметром —debug, чтобы получить больше выходных данных журнала. Запустите с помощью —scan, чтобы получить полную информацию.
Получите дополнительную помощь наhttps://help.gradle.org
В этой сборке использовались устаревшие функции Gradle, что делает ее несовместимой с Gradle 5.0. Используйте ‘—warning-mode all’ для отображения отдельных предупреждений об устаревании. Смотрите https://docs.gradle.org/4.10/userguide/command_line_interface.html#sec:command_line_warnings
СБОЙ СБОРКИ за 19 секунд [Конвейер] } [Конвейер] // этап [конвейер] } [Конвейер] // узел [Конвейер] Ошибка завершения конвейера: скрипт вернул код выхода 1 Завершено: СБОЙ
Код из задания Дженкинса:
stage('Push to Nexus') {
echo 'Start push to Nexus...'
sh 'chmod x gradle'
sh './gradle -PgroupParam=123 -PversionParam=456 upload --info'
echo 'End push to Nexus...'
}
Код в Gradle
:
uploadArchives {
println "******************************************************************************"
println "groupParam = "
println "$groupParam" <<<<< line #33
println "versionParam = "
println "$versionParam"
println "******************************************************************************"
repositories {
mavenDeployer {
repository(url: "http://125.27.4.1:8080/repository/test1/") {
authentication(userName: "abcdef", password: "abcdef")
}
snapshotRepository(url: "http://125.27.4.1:8080/repository/test1/") {
authentication(userName: "abcdef", password: "abcdef")
}
}
}
}
Кто-нибудь, пожалуйста, может сказать мне, что я здесь делаю не так?
Почему эти параметры не передаются на Gradle
сторону?
Связано ли это с версиями плагинов и Дженкинса?
Комментарии:
1. попробуйте это:
println "${project.groupParam}"
2. @daggett возвращает то же самое, нужно ли мне объявлять эти параметры? связано ли это с версиями плагинов и Дженкинса?
3. не может быть одинаковым — поскольку минимальный способ доступа отличается)
4. что
project
? как это определено? У меня нет этой переменной в моем коде, она глобальная?5. глобальный. docs.gradle.org/current/userguide/writing_build_scripts.html