如果有任何更改,我们当前轮询svn并运行作业。然后,如果初始工作通过,我们就会触发工作。
另外,我想触发第二份工作,每天只运行一次。因此,如果初始作业(作业1)运行40次,则作业2也运行40次,但作业3仅运行1次。 (只要作业3确切地知道作业1的最后一个实例运行的机器,它就可以解耦)
我最初的想法是使用类似于Node stalker(https://wiki.jenkins-ci.org/display/JENKINS/Node+Stalker+Plugin)的插件来获取上次运行所在的节点的值。该插件似乎不起作用(它在任何节点上运行,就好像插件什么都不做)。
还有另一种方法吗?
答案 0 :(得分:1)
我不知道以与节点跟踪器类似的方式执行此操作的另一种方法,但是会想到另外两个选项。
丑陋的: 如果所有计算机都有网络驱动器,则只能保留文本文件,当计算机成功完成作业1和2时,它会使用该名称的唯一标识符更新该文本文件,然后作业3读取该文件,它知道谁最后工作1和2。
不那么难看: 这个取决于运行作业1和2所需的时间(越短越好,越长可能不可行)。运行4个工作链:
job3启动器 - >工作1 - >工作2 - >工作3。
通过这种方式,您可以跟踪作业1和作业2使用的机器,并将它们作为构建变量传递到作业3中。