如果已经设置了某个属性,是否可以跳过Jenkins管道中的properties()
步骤?例如,我们有:
def props = [
buildDiscarder(logRotator(daysToKeepStr: '3', numToKeepStr: '25')),
parameters([
string(defaultValue: "", description: "", name: "example")
])
]
properties(props)
稍后,我们检查管道是否通过cron触发器运行,以查看将来是否要运行作业:
props = props.plus(pipelineTriggers([cron(cronTrigger)]))
properties(props)
现在,始终将第一个代码段设置为运行,该代码段设置了管道运行所需的某些参数,但这将删除cron,并使作业处于容易发生故障的状态,而无需cron重置即可重新运行它。仅需要破坏运行此管道的某些作业,因此我们也不能仅将cron添加到初始props数组中。有没有一种方法可以检查管道中是否存在先前设置的cron触发器,并且仅在未启用cron的情况下才再次重新运行第一个properties()
步骤。我正在寻找的伪代码示例:
if (properties.include(pipelineTriggers([cron(cronTrigger)]))) {
properties(props)
}