Jenkins-如何实现两项工作是相互依赖的

问题描述 投票:0回答:3

Jenkins CI是一个非常强大的工具,可以使用它安装一些插件。 最近我有一个关于两个并行处理作业的需求。 我们知道很多插件都实现了这个功能,比如join插件、Trigger参数化插件等等。 不过我还需要另一个功能。

我们想要的新功能如下:
作业 A 和作业 B 正在并行处理,如果作业 A 构建失败,则作业 B 立即停止运行。

我还没有找到任何插件可以实现这一点。

您能帮助我并告诉我是否有任何具有此类功能的插件吗?

非常感谢!

jenkins jenkins-plugins jenkins-workflow
3个回答
0
投票

将 DSL 脚本与 Build Flow 插件结合使用。

     JOB A
       |------> JOB B
       |------> JOB C 
                  |------> JOB D

尝试执行此示例:

构建(“工作A”)

平行 ( {构建(“工作B”)} {构建(“作业C”)} )

构建(“工作D”)


0
投票

您可以在作业 A 和作业 B 上使用 构建后任务插件。

您可以将其设置为在作业失败时运行:

Log Text -> BUILD FAILED

当构建失败时,您可以执行

Script
来停止您想要使用 jenkins API 停止的作业,因为它正在讨论这里

http://<Jenkins_URL>/job/<Job_Name>/<Build_Number>/stop

0
投票

您可以使用管道并行关键字。

stage('parallel job'){
        parallel{
            stage('job1'){
                steps{ build 'job-1'}
            }
            stage('job2'){
                steps{ build 'job-2'}
            }
        }
    }

Job-1 和 Job-2 并行运行。 如果 job-1 在 job-2 运行时失败,则 job2 将中止。

只有所有并行阶段都成功完成后,才会进入下一阶段。

© www.soinside.com 2019 - 2024. All rights reserved.