如何使用管道插件在特定节点上触发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”上运行。这是为什么?是因为在构建步骤应该在哪个节点上构建时,“节点”步骤无关紧要?

回答:

请在这里查看错误。解决方法如下。

  1. 安装节点和标签参数插件
  2. 在test_job的配置中,选择“此构建已参数化”并添加Label参数,并将参数名称设置为“ node”
  3. 在管道脚本中,使用代码:

    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

回到顶部