gpt4 book ai didi

Jenkins 声明式管道 : How to inject properties

转载 作者:行者123 更新时间:2023-12-02 11:26:17 24 4
gpt4 key购买 nike

我有 Jenkins 2.19.4 和 Pipeline:Declarative Agent API 1.0.1。如果您不能定义一个变量来分配读取的属性,那么如何使用 readProperties ?

例如,为了捕获 SVN 修订号,我目前使用以下脚本样式捕获它:

``

echo "SVN_REVISION=\$(svn info ${svnUrl}/projects | \
grep Revision | \
sed 's/Revision: //g')" > svnrev.txt

``
def svnProp = readProperties file: 'svnrev.txt'

然后我可以使用:
${svnProp['SVN_REVISION']}

既然在声明式风格中 def svnProp 是不合法的,那么 readProperties 是如何使用的呢?

最佳答案

您可以使用 script走进steps标记以运行任意管道代码。

所以在以下几行:

pipeline {
agent any
stages {
stage('A') {
steps {
writeFile file: 'props.txt', text: 'foo=bar'
script {
def props = readProperties file:'props.txt';
env['foo'] = props['foo'];
}
}
}
stage('B') {
steps {
echo env.foo
}
}
}
}

在这里,我使用 env 在阶段之间传播值,但也可以执行其他解决方案。

关于 Jenkins 声明式管道 : How to inject properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42252552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com