Jenkins管道可以进行多参数化的cron构建吗?

时间:2017-10-31 23:02:22

标签: jenkins triggers cron jenkins-pipeline

我有一个工作的Jenkins脚本管道,非常简单。 我也使用触发器来启用管道按计划运行。

这样的事情:

node{
    do_something()
    triggers{
        cron(‘* * * * *’)
    }
}

do_something()做了各种各样的事情,并考虑了一些输入参数(和env变量)

我想多次触发管道 - 让我们用一些参数说一分钟,用其他参数每小时说一次 (想象一下,我希望将相同的管道重用于连续和完整构建)

有可能吗?
我没有找到办法如何做到这一点,我甚至不确定它是否可以由多个触发器触发。

2 个答案:

答案 0 :(得分:0)

触发器将触发整个作业。它不会触发作业的某些部分,也不会触发不同的参数。您可能想要做的是设置触发器作业。只需要一个简单的管道工作,无论你需要什么,都可以触发每分钟,10分钟。这项工作将使用groovy中的逻辑来决定当时需要做什么,然后使用您需要的参数触发另一个作业或作业。

答案 1 :(得分:0)

为什么不使用Parametrized Scheduler作为触发器。这应该为您解决问题:

triggers {
    parameterizedCron('''
        * * * * * %PARAM1=x;PARAM2=y
        0 * * * * %PARAM3=z
    ''')
}