我有一些使用GitHub组织配置的作业。一切正常。其中一些作业应仅在cron
触发器上运行,而不是在每次提交到存储库时运行。
我的问题是,如何在不实际构建作业的情况下更改触发器。如果我修改Jenkins文件并将其推送到repo,我可以将Jenkins配置为是否构建它
但是,如果我不想在提交时构建它,我似乎也不会从我的Jenkins文件中获取任何新配置,例如新的cron
触发器。
那么如何在不实际运行作业的情况下重新配置cron
触发器?
答案 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。