jenkins 在Jankins的CICD管道代码中,有没有什么方法可以将动态小时数作为Crone作业中的参数传递

db2dz4w8  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(107)
def random = new Random()
def randomHour = 7 + random.nextInt(3) // Generate a random number between 7 and 9
def randomMinute = random.nextInt(60) // Generate a random number between 0 and 59
println "randomHour: ${randomHour}"
println "randomMinute: ${randomMinute}"
jobProps << pipelineTriggers([parameterizedCron('\${randomMinute} \${randomHour} * * * %DEPLOY_TEST_ENVIRONMENT=true')])

我试图运行crone工作之间的任何随机时间7:00AM至9:00AM。我尝试了以上方法,但它对我不起作用。

e37o9pze

e37o9pze1#

你为什么要避免扩大变量呢?

jobProps << pipelineTriggers([parameterizedCron('\${randomMinute} \${randomHour} * * * %DEPLOY_TEST_ENVIRONMENT=true')])

我想扩大它们应该能解决你的问题

jobProps << pipelineTriggers([parameterizedCron("${randomMinute} ${randomHour} * * * %DEPLOY_TEST_ENVIRONMENT=true")])

您还可以利用Jenkins散列语法

jobProps << pipelineTriggers([parameterizedCron('H H(7-9) * * * %DEPLOY_TEST_ENVIRONMENT=true')])

它做的几乎是一样的事情,除了它不改变每次运行的计划时间,它选择随机时间,之后就不会改变。

相关问题