我想在"hyp-z“和"hyp-x”构建节点上触发Jenkins作业。我试着这样写,但得到的结果是“没有标签为‘hyp-x&&hyp-z’的节点”
node ('hyp-z&&hyp-x') {
// write something here
}
我正在做的错误是什么?确切的工作格式是什么?
发布于 2018-07-25 21:55:08
在此表单中,这是不可能的。&&表达式用于缩小某些特性的节点池。例如,我想在标签为UBUNTU和DOCKER的节点上运行。而不是在具有这些标签的两个不同节点上运行。
你可以使用并行块来做你想做的事情。如果您使用的是声明性语法,请参阅本文https://jenkins.io/blog/2017/09/25/declarative-1/,或在此处查看脚本化https://jenkins.io/doc/book/pipeline/jenkinsfile/#parallel-execution
发布于 2018-07-26 16:39:31
我尝试过两种方式
def labels = ["hyp-x", "hyp-z"]
def builders = [:]
for (x in labels) {
def label = x
builders[label] = {
node(label) {
// build script
}
}
}
parallel builders
上面的代码在Jenkinsfile中工作正常,但我看到两个构建都是在一个共同的任务中触发的,日志看起来很笨拙。所以我尝试了下面的第二种方法
创建了Jenkinsfile.x
和Jenkinsfile.z
,每个文件代表x和z平台构建。
https://stackoverflow.com/questions/51519958
复制相似问题