Невозможно прочитать gradle.properties в работе конвейера Дженкинса - PullRequest
1 голос
/ 07 мая 2020

Я выполняю задание по конвейеру Дженкинса с помощью gradle. У меня есть требование получить значение свойства, указанное в gradle.properties, как я могу его получить

1 Ответ

0 голосов
/ 07 мая 2020

Используйте встроенный декларативный конвейер Jenkins readFile () для чтения файлов из рабочей области.

Допустим, ваш gradle.properties содержит

version=1.2.3-SNAPSHOT

Для чтения свойство version из файла сделайте это в вашем Jenkinsfile:

pipeline {
    stages {
        stage("read file from workspace") {
            steps {
                checkout scm

                script {
                    String content = readFile("gradle.properties")

                    Properties properties = new Properties()
                    properties.load(new StringReader(content))

                    echo "property 'version' has value '${properties.version}'"
                }
            }
        }
    }
}

Это может не работать при выполнении из-за отсутствия разрешения на выполнение произвольного кода, в зависимости от вашей настройки Jenkins. Вы можете получить следующие ошибки:

Scripts not permitted to use method java.util.Properties load java.io.Reader. Administrators can decide whether to approve or reject this signature.

Подробнее об этом топе c здесь: Утверждение сценария .

После утверждения свойство может быть читать в:

[Pipeline] readFile
[Pipeline] echo
20:55:16 property 'version' has value '1.2.3-SNAPSHOT'
...