父作业在当天多次运行后触发子作业

时间:2015-10-21 23:02:18

标签: jenkins

我有一个父作业,它在一天中运行多次,我有一个子作业,只有在父作业的最新状态成功时才必须每天运行一次。 能不能让我知道,不同的做法。

此致 杰格迪什

3 个答案:

答案 0 :(得分:0)

使用帖子构建触发器

  1. 如果父版本成功,则触发您的子构建。
  2. 从您的子作业中再触发一个子作业以禁用该作业。 (您可以使用groovy scipts轻松禁用或启用作业。)

答案 1 :(得分:0)

我会实现一个简单的计数器+标志文件。

每次父作业运行时,计数器都会写入文件 如果计数器达到 N ,请创建一个标记文件 使用Conditional BuildStep Plugin并检查标志文件是否存在 如果存在,并且父构建良好,则重置计数器,删除标记文件并触发子作业。

我希望这会有所帮助。

答案 2 :(得分:0)

向所有人提出想法。我使用python脚本来表达这一点,该脚本将当前时间与我想要运行作业的时间进行比较,如果当前时间少于那么它不会触发作业,如果它等于,从运行时间大于和不到一分钟+ 1分钟然后执行。因此,如果我的指定运行时间是7PM,我会比较当前> 7PM和当前< 7:01 PM。 所以这样,即使父作业每5分钟运行一次,这个子作业也只在晚上7点触发一次。使用“远程触发”选项可以远程启用触发器并从父作业执行此python脚本。