parallel(
'linux': {
stage('build_linux') {
build job: 'linux_build', parameters:[]
build job: 'linux_archive', parameters:[]
parallel(
stage('test1_linux') {
build job: 'test1_setup1', parameters:[]
build job: 'test1_setup2', parameters:[]
parallel(
many_builds...
)
build job: 'test1_finish', parameters:[]
}
stage('test2_linux') {
build job: 'test2_setup1', parameters:[]
build job: 'test2_setup2', parameters:[]
parallel(
many_builds...
)
build job: 'test2_finish', parameters:[]
}
)
}
},
'windows': {
stage('build_windows') {
build job: 'windows_build', parameters:[]
build job: 'windows_archive', parameters:[]
parallel(
stage('test1_windows') {
build job: 'test1_setup1', parameters:[]
build job: 'test1_setup2', parameters:[]
parallel(
many_builds...
)
build job: 'test1_finish', parameters:[]
}
stage('test2_windows') {
build job: 'test2_setup1', parameters:[]
build job: 'test2_setup2', parameters:[]
parallel(
many_builds...
)
build job: 'test2_finish', parameters:[]
}
)
}
}
)parallel(
'linux': {
generate_build('linux')
parallel(
generate_tests('test1')
generate_tests('test2')
)
},
'windows': {
generate_build('windows')
parallel(
generate_tests('test1')
generate_tests('test2')
generate_tests('test3')
generate_tests('test4')
)
},
)
def generate_build(system) {
build job: system + '_build', parameters:[]
build job: system + '_archive', parameters:[]}
def generate_tests(tests) {
build job: tests + '_setup1', parameters:[]
build job: tests + '_setup2', parameters:[] parallel(
many_builds...
)
build job: tests + '_finish', parameters:[]}