在没有建筑的情况下更新jenkins声明性工作

时间:2017-10-21 13:14:02

标签: jenkins jenkins-pipeline

我有一些使用GitHub组织配置的作业。一切正常。其中一些作业应仅在cron触发器上运行,而不是在每次提交到存储库时运行。

我的问题是,如何在不实际构建作业的情况下更改触发器。如果我修改Jenkins文件并将其推送到repo,我可以将Jenkins配置为是否构建它 但是,如果我不想在提交时构建它,我似乎也不会从我的Jenkins文件中获取任何新配置,例如新的cron触发器。

那么如何在不实际运行作业的情况下重新配置cron触发器?

2 个答案:

答案 0 :(得分:0)

在Jenkins触发的脚本中,您可以list the files modified

git diff --name-only $GIT_PREVIOUS_COMMIT $GIT_COMMIT

如果唯一修改的文件是Jenkisfile,您可以考虑运行next step, using a condition (when)

答案 1 :(得分:0)

您可能需要将Jenkins文件分隔到一个单独的存储库而不是代码本身。

另一个选择是拥有一个上游Jenkinsfile(只有cron触发器并激活下游作业)和一个驻留在不同存储库中的下游Jenkinsfile。