我有一个共享库,其中包含一个声明性管道,许多作业都在使用它来构建。但是,我希望能够将触发器块从 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
已经尝试过各种其他的东西,但似乎声明式风格需要一个触发器块,里面只有触发器。
有谁知道实现我想要做的事情的方法?