0

我有一个共享库,其中包含一个声明性管道,许多作业都在使用它来构建。但是,我希望能够将触发器块从 Jenkinsfile 传递到共享库,因为我想通过 Cron 触发一些作业,其他一些我想通过 SNS 触发,以及其他具有上游作业触发器的作业。

有没有办法我可以做到这一点?我尝试过的一切都失败了

我努力了

#Jenkinsfile
@Library('build') _
buildAmi{
OS = "amazonlinux"
owners = "amazon"
filters = "\"Name=name,Values=amzn-ami-hvm-*-x86_64-gp2\""
template = "linux_build_template.json"
trigger = triggers {
    cron('0 H(06-07) * * *')
}

#Shared Lib
pipeline {
    $buildArgs.trigger

失败了

Not a valid section definition

还尝试将 cron 计划传递到共享库中,例如

triggers {
    cron("${buildArgs.cron}")
}

但这给出了错误

Method calls on objects not allowed outside "script" blocks

已经尝试过各种其他的东西,但似乎声明式风格需要一个触发器块,里面只有触发器。

有谁知道实现我想要做的事情的方法?

4

0 回答 0