【发布时间】:2017-11-23 22:12:22
【问题描述】:
是否有可能阻止完整的 jenkins 作业运行,即定期安排;如果自上次构建以来没有 SCM 更改。
例如,
有一个每日夜间构建,用于创建构建。此作业的完成触发(上游项目)该构建的自动化测试作业。
我希望能够拥有两样东西
- 如果自上次作业后 SCM 没有更改,则停止第一个构建作业
- 第二个上游自动化测试作业仅在未运行 1 周时运行。 (在第一个作业触发后)
提前致谢
【问题讨论】:
是否有可能阻止完整的 jenkins 作业运行,即定期安排;如果自上次构建以来没有 SCM 更改。
例如,
有一个每日夜间构建,用于创建构建。此作业的完成触发(上游项目)该构建的自动化测试作业。
我希望能够拥有两样东西
提前致谢
【问题讨论】:
第一部分很简单,而不是将“定期构建”设置为“轮询 SCM”并使用相同的时间表。这正是它的作用:定期检查更改并仅在有更改时才运行作业。
第二部分(触发另一个有时间限制的作业)更复杂。除了您通常的构建触发方案之外,一个选项是“Throttle builds”(每周 1 个)。另一种是“触发远程构建(例如,从脚本)”选项,并检查某种脚本或服务是否满足所需条件。
【讨论】:
第一个
您是否每天晚上都尝试对 SCM 进行民意调查?如果没有更改,Jenkins 作业将不会启动。
0 23 * * *
将在每晚 11 点运行
第二次 使用以下插件:https://wiki.jenkins.io/display/JENKINS/Run+Condition+Plugin
【讨论】: