首页 > 解决方案 > 如何定期运行一个 Jenkins 作业,直到另一个 Jenkins 作业正在运行

问题描述

我有两个 Jenkins 工作 - JobA 和 JobB。我将触发 JobA。现在我想每隔 5 分钟定期运行一次 JobB,直到 JobA 运行。因此,如果 JobA 运行 30 分钟,jobB 将在每 5 分钟后触发一次,总共运行 6 次。如果这可以在 Jenkins 中实现,请提供帮助。

谢谢, 苏拉布

标签: jenkins

解决方案


如果我理解正确,您希望让 jobB 每 5 分钟运行一次,直到 jobA 完成。

您可以创建一个上游作业,jobC,它将轮询/检查 jobA 的状态,如果它正在运行,将触发 jobB。如果jobA没有运行,jobC应该失败,不会触发jobB。

您可以安排每 5 分钟触发一次 jobC。

或者,

您可以触发 jobB 并首先验证 jobA 的状态。如果 jobA 未运行,则使 jobB 失败,否则完成执行。


推荐阅读