【问题标题】:Trigger periodic job in Hudson only if last execution of another job is successful仅当上次执行另一个作业成功时才在 Hudson 中触发周期性作业
【发布时间】:2010-09-19 08:45:03
【问题描述】:

我有一份工作 NIGHTLY,每晚由一个定期计时器运行一次。
现在我想进行更改,以便只有在 Hudson 中另一个作业 FOO 的最后一次执行成功时才运行 NIGHTLY 作业。

注意:

  • Job FOO 每天运行多次,由 SCM 触发。
  • NIGHTLY 每晚只能在特定时间运行一次。

目前我有另一个作业 NIGHTLY_TRIGGER 运行一个 bash 脚本,该脚本访问作业 FOO 的远程 API 以检查作业 FOO 是否成功,如果成功则触发夜间作业。

有没有更好/更清洁的方法来做到这一点? (最好使用一些 Hudson 插件)

【问题讨论】:

    标签: hudson hudson-plugins


    【解决方案1】:

    您可以查看 Hudson Join Plugin,它是为这种场景制作的(等待一个工作结束后再执行另一个工作)。
    最终结果与您已经在做的没有太大不同,但这将被巧妙地参数化:

    所以您仍然需要检查FOO 作业的状态,但至少您会在FOO 作业完成后检查它

    【讨论】:

    • 很抱歉,我不明白这将如何解决问题。我希望 NIGHTLY 作业仅在每晚的某个时间由定期计时器触发一次,并且如果 FOO 作业不成功,定期计时器将被阻止/取消。虽然它看起来像一个不错的插件 =)
    • @ki_:你能把那个定期计时器作为 FOO 的触发器吗? : 如果 FOO 失败(“不稳定”),计时器将不会运行。
    • “定期计时器”应该是 FOO 的触发器是什么意思?我不想安排 FOO 每晚运行。
    • @ki_:对,我现在明白了。而且我不确定是否有比通过远程 API 控制 NIGHTLY_BUILD 作业执行更好的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2022-10-17
    • 1970-01-01
    • 2019-09-06
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多