我有作业A,它触发作业B和作业C.作业B触发作业D和作业C触发作业D. 所以在建立工作A后,我得到两个正在运行的D工作。 我想在建立工作A之后只运行一次工作D(B和C必须已经建成)。我怎样才能实现它?
答案 0 :(得分:1)
发明管道工作的原因是为了处理这些更复杂的条件。不是安装触发其他作业的各种插件,或等待不同的作业,尝试在UI等中编程逻辑,将所有单个作业放在管道的各个阶段(或从管道的各个阶段调用它们)这种逻辑变得容易了。
如果您已经设置了所有作业,请尝试使用带有某些管道逻辑的简单触发器作业来调用其他作业,并以适当的顺序和正确的次数执行。
答案 1 :(得分:0)
使用管道可以更好地处理并行构建作业/钻石依赖项等。在管道中作为代码/ groovy / jenkinsfile等。
如果您没有选择使用其中任何一个并且只能使用作业,我建议您查看JobFanIn插件。
https://wiki.jenkins.io/display/JENKINS/JobFanIn+Plugin
安装后,配置作业D以监视作业B和作业C.一旦B和C由A触发,一旦两者都完成,则只执行作业D.
答案 2 :(得分:0)
如果您不想使用Jenkins管道(这是该问题的最佳解决方案),您可以考虑使用Multi-job plugin代替。