1
对于我们的jenkins管道环境,我们正在实现一个函数库。 我们想在多个节点上使用这个库。对于某些日志记录功能,我正在寻找一种具有“节点范围”变量的方法。Jenkins管道变量,节点范围
这意味着库功能(在最小的例子下面说())应该具有取决于所述节点
g_str_test = "test"
parallel firstBranch: {
node {
echo g_str_test // = test
l_str_test = "para1"
echo l_str_test
sleep 2
l_str_test = "paraaaa11"
g_str_test = "para1"
say() // = paraaaa11
}
}, secondBranch: {
node {
echo g_str_test
l_str_test = "para2"
echo l_str_test // = para2
sleep 5
echo "l: "+l_str_test // should be para2 !!!!!! (but is paraaaa11)
echo "g: "+g_str_test //= para1
say() // = para2 !!!!!!
}
},
failFast: true
def say(){
echo "say: "+l_str_test
}
上的不同的输出是有办法有常规变量具有限定的范围
当使用“DEF l_str_test”为l_str_test未在发言权()已知每个节点node{
[VALID HERE -- also known in called functions]
}
[UNKNOWN HERE]
我知道一个解决办法是在调用吨时只通过可变他的功能。但实际上,我必须将许多变量传递给每个函数,这会使代码看起来非常难看。
。问题在于,它不能在节点内部调用的函数中工作(不是没有传递变量) – Ditschi