如何在节点和并发中配置多分支管道作业?

时间:2019-12-09 17:08:53

标签: jenkins jenkins-pipeline

这是我的设置:

  1. 使用GitHub Branch源插件构建我的工作,以进行更改以仅提取请求
  2. 使用JenkinsFile(声明性管道)
  3. 在我的工作中使用多分支项目,因为我使用的是GitHub Branch源插件
  4. 我有2个从属节点,每个节点有2个执行器。而且,我有一个执行者为0的大师
  5. 我在任何从属节点中都没有标签。
  6. 我总共有2个工作(比如说“ A”和“ B”)
  7. 作业A或B不能在同一节点上同时运行,但是如果PR打开/更改,则可以在另一个节点上运行。

我想做什么?

在节点中运行作业A,并且如果另一个PR已打开/更改,则作业A的下一个触发器应转到另一个节点。这是我的JenkinsFile:

properties([
  [
    $class: 'ThrottleJobProperty',
    categories: ['testcategory'],
    limitOneJobWithMatchingParams: false,
    maxConcurrentPerNode: 1,
    maxConcurrentTotal: 2,
    paramsToUseForLimit: '',
    throttleEnabled: true,
    throttleOption: 'category'
  ],
])

到目前为止,我看上去如何?

研究了Throttle并发构建。

出了什么问题?

我没有看到任何错误。作业A的两个版本在同一节点中并行运行,而不是在另一个节点中运行。

我该如何完成?

0 个答案:

没有答案