如何将Jenkins管道作业设置为始终构建'默认'分支,但只建立其他分支过夜

时间:2016-08-29 04:17:18

标签: jenkins jenkins-pipeline

给定Jenkins multibranch管道作业,该作业使用属性策略来抑制自动SCM触发"对于所有分支机构,但默认情况下,你如何让詹金斯等到晚上(比如说早上7点到早上6点)建立其他所有分支机构?

我们曾经能够为每个工作单独设置投票SCM策略,效果很好。

管道脚本允许您设置pollSCM管道触发器属性。然而,除非作业至少运行一次并且似乎存在缺陷,其中作业由scm变化不断触发,因此它不会被设置,这使得它不那么有用。

1 个答案:

答案 0 :(得分:1)

Jenkinsfile属性可以(现在)配置轮询触发器并覆盖默认的触发行为。此示例启用除&& 39;默认'之外的所有内容的每日构建。并释放分支(总是建立)

def alwaysBuild = (env.BRANCH_NAME == "default" || env.BRANCH_NAME ==~ /release-.*/);
properties([
    overrideIndexTriggers(alwaysBuild), 
    pipelineTriggers([pollSCM('@daily')])
]);  

注意:截至2016年9月,似乎存在一个错误,其中pollSCM每次更改都会触发多个版本。可能是这个错误:https://issues.jenkins-ci.org/browse/JENKINS-38443