如何从Jenkins 2.0管道脚本中读取属性文件

Pet*_*ton 12 environment groovy build jenkins jenkins-pipeline

我正在尝试编写一个与Jenkins 2.0一起使用的管道脚本来复制我们现有的构建.这个原始版本使用envInject插件来读取Java属性文件,但我无法从管道Groovy脚本中看到如何执行此操作.我有谷歌搜索并找到以下内容,但它不起作用(FileNotFoundException):

Properties props = new Properties()
File propsFile = new File('./Builder/project.properties')
props.load(propsFile.newDataInputStream())
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mik*_*ury 32

我昨天和今天只是为此而奋斗.我希望这更容易找到.

抓住' Pipeline Utility Steps '插件.

使用readProperties步骤.

 def props = readProperties  file: 'dir/my.properties'
Run Code Online (Sandbox Code Playgroud)

一个警告 - 我期望在属性文件中的布尔值被视为字符串.

  • readProperties有一个插值参数:https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/src/main/resources/org/jenkinsci/plugins/pipeline/utility/steps/conf/ ReadPropertiesStep / help.html#L69 (2认同)

小智 8

我试过了,下面工作得很好:

test.properties
Monday=abcdef
Tuesday=kfgh

def props = readProperties  file:'/var/lib/jenkins/jobs/abc/test.properties'
def Var1= props['Monday']
def Var2= props['Tuesday']
echo "Var1=${Var1}"
echo "Var2=${Var2}"
Run Code Online (Sandbox Code Playgroud)