Jenkins声明式管道,每个分支具有不同的触发器

时间:2019-03-14 08:48:56

标签: jenkins jenkins-pipeline crontrigger multibranch-pipeline

我希望在声明性管道詹金斯工作中为每个分支实现不同的cron触发器。此刻,我只触发每小时一次的dev分支构建:

  <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:usesCleartextTraffic="true">

我的目标是拥有两个单独的cron字符串,它们将在不同的时间在不同的分支中触发构建(例如:每小时在dev中进行构建,每三个小时在master中进行构建),但是执行将是相同的。我的问题是,我可以像下面的代码块那样做还是应该采用其他方法?

String cron_string = BRANCH_NAME == "dev" ? "@hourly" : ""

pipeline {

   triggers {
        cron(cron_string)
   }

   //stages, options and more code here...

}

1 个答案:

答案 0 :(得分:0)

这对我有用(使用脚本管道):

if (BRANCH_NAME == "dev") {
    properties(
        [
            pipelineTriggers([cron('0 8,13,17 * * *')])
        ]
    )
}