问题
I've got a multi-level build pipeline with a "top-level" join (test_Join
) and a "sub-level" join (test_Build1_Join
) (see image below).
My test_Join
job requires artifacts from both test_Build1_Join
and test_Build2
. I copy them by filtering on a parameter named PL_BUILD_NUMBER
that's passed downstream from test_Start
job. That works (see this SO post)
My problem is
Sometimes, the "top-level" join is triggered before the "sub-level" join, like in the image below. This mean that the build artifacts are not yet available and I get the following error:
Copied 1 artifact from "test_Build2" build number 33
Unable to find a build for artifact copy from: test_Build1_Join
Build step 'Copy artifacts from another project' marked build as failure
Notifying upstream projects of job completion
Finished: FAILURE
The joins are done using the "Join Trigger" plugin, with the "run post-build actions at join -> Trigger parameterized build on other projects" options.
How can I synchronise the whole pipeline better? What's the standard practice?
来源:https://stackoverflow.com/questions/26101765/jenkins-pipeline-top-level-join-gets-triggered-before-sub-level-join