Дженкинс — Сбой сборки — параметры не переданы в Gradle

#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