Jenkins工作流程并行步骤和连接

时间:2015-12-01 16:51:15

标签: jenkins jenkins-workflow

我目前正在使用Jenkins Workflow脚本中的parallel构建步骤,其中每个分支制作需要不同的时间。

parallel(fastBranch: {
    // Do something fast
}, slowBranch: { 
    // Do something slow
})

我认为slowBranch可能无法完成,因为fastBranch更快,这可能吗?在parallel步骤中是否存在任何类型的连接机制,以确保在所有分支完成之前不执行下一行。

2 个答案:

答案 0 :(得分:1)

是的,有加入。对于这份工作:

parallel(fastBranch: {
    build("Test_fast")
}, slowBranch: { 
    build("Test_slow")
})
build("Test_join")

记录是:

parallel {
    Schedule job Test_fast
    Schedule job Test_slow
    Build Test_fast #1 started
    Build Test_slow #1 started
    Test_fast #1 completed 
    Test_slow #1 completed 
}
Schedule job Test_join
Build Test_join #1 started
Test_join #1 completed 

时代:

Fast Start:  17:06:00
Fast Finish: 17:06:01
Slow Start:  17:06:00
Slow Finish: 17:06:20
Join Start:  17:06:30
Join Finish: 17:06:30

答案 1 :(得分:0)

这不应该是可能的。我将parallel用于25个并行作业,它们都在不同时间完成。完成所有这些操作后,它将在调用parallel之后处理任何步骤。