Используйте встроенный декларативный конвейер 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'