如何使用管道插件在特定节点上触发jenkins构建?
我有一个名为“ TestPipeline”的詹金斯管道作业。我想在两个不同的从属服务器上触发构建,标记为“ tester1”和“
tester2”,并且管道脚本在这里非常简单:
node('tester1') { build 'test_job'
}
node('tester2') {
build 'test_job'
}
但是,当我运行TestPipeline作业时,“ test_job”将不会在我分配的节点上运行。但改为在随机节点上运行。
我想知道是否应该在我的“ test_job”上设置“限制可以在哪里运行该项目”。因此,我将其设置为“ tester”(“ tester”标签同时包含节点“
tester1”和“ tester2”)。但是,当我再次运行管道作业时,“ test_job”在“ tester2”上运行了两次。我应该期望该作业先在“
tester1”上运行,然后在“ tester2”上运行。这是为什么?是因为在构建步骤应该在哪个节点上构建时,“节点”步骤无关紧要?
回答:
请在这里查看错误。解决方法如下。
- 安装节点和标签参数插件
- 在test_job的配置中,选择“此构建已参数化”并添加Label参数,并将参数名称设置为“ node”
在管道脚本中,使用代码:
build job: ‘test_job’, parameters: [[$class: ‘LabelParameterValue’, name: ‘node’, label: ‘tester1’]]
build job: ‘test_job’, parameters: [[$class: ‘LabelParameterValue’, name: ‘node’, label: ‘tester2’]]
这项工作将按我的意愿进行。
,我认为这只是一种解决方法。我仍然相信这是一个错误。因为节点步骤应该执行其工作,而不是让其他插件来完成。
以上是 如何使用管道插件在特定节点上触发jenkins构建? 的全部内容, 来源链接: utcz.com/qa/410474.html