我能够在Jenkins声明性管道中加载属性文件。在回显时,也会在控制台输出中打印这些值。我想使用属性文件中的值之一,例如slavenode,作为Jenkins标签。但是,我无法这样做。我尝试了以下操作,但失败了:
stage ('echo variables'){
agent {label 'a_server_name'}
steps{
load "path_to_file\\abc.properties"
echo "Hi"
echo "slave : ${SlaveNode}"
//executes successfully
}
stage ('Execute script'){
agent {label "$SlaveNode"}
steps{
echo "This is executing script"
}
// fails with error : There are no nodes with the label ‘SlaveNode’
我希望它在$ SlaveNode上运行“执行脚本”阶段。
答案 0 :(得分:0)
我相信您可以使用Groovy库和环境变量来做到这一点
答案 1 :(得分:0)
下面是对我有用的代码:
steps{
node( SlaveNode as String )
{ sh """ echo "It is running on SlaveNode" """ }
}