我正在使用gradle运行jenkins管道作业。我需要获得gradle.properties中提到的属性值,我如何才能获得它
anhgbhbe1#
使用Jenkins声明性管道内置的readFile()从工作区读取文件。假设您的gradle.properties包含
gradle.properties
version=1.2.3-SNAPSHOT
字符串要从文件中读取version属性,请在Jenkinsfile中执行以下操作:
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.
型阅读更多关于这个主题在这里:脚本批准.一旦获得批准,该属性可以读取:
[Pipeline] readFile [Pipeline] echo 20:55:16 property 'version' has value '1.2.3-SNAPSHOT'
型
cotxawn72#
无需额外许可的更好解决方案很简单readProperties - Pipeline Utility Steps
script { def props = readProperties file:'rest-api/gradle.properties' env.APP_VERSION = props['version'] }
字符串
2条答案
按热度按时间anhgbhbe1#
使用Jenkins声明性管道内置的readFile()从工作区读取文件。
假设您的
gradle.properties
包含字符串
要从文件中读取
version
属性,请在Jenkinsfile
中执行以下操作:型
由于缺少执行任意代码的权限,这可能会在执行时失败,具体取决于您的Jenkins设置。您可能会收到如下错误:
型
阅读更多关于这个主题在这里:脚本批准.
一旦获得批准,该属性可以读取:
型
cotxawn72#
无需额外许可的更好解决方案很简单
readProperties - Pipeline Utility Steps
字符串