Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-9105

Parameterized plugin should have an option to support "block until downstream projects finish"

      Consider the following example:
      Project A triggers (parameterized) project B which has a downstream project C.
      Only after project C is finished project A should trigger other projects.

      Right now I can enable "block until project B completes", but it does not wait for project C to complete.
      It would make it easier to have one project calling multiple other projects, that each has one or more downstream projects.

          [JENKINS-9105] Parameterized plugin should have an option to support "block until downstream projects finish"

          I think this is what I need. I have multiple builds that do things differently (build on different branches), but share the same group of tests. The tests have a parent job, which uses the parametized trigger plugin to kick off all the tests. I am using the NodeLabel Parameter plugin to restrict which slaves tests run on so different branches don't step on each others toes.

          So A -> BuildA (Matrix build on all A Nodes)
          -> Test(A label as a parameter) -> Triggers Jobs (A label as a parameter) (A Nodes)
          B -> BuildB (Matrix build on all B Nodes)
          -> Test(B label as a parameter) -> Triggers Jobs (B label as a parameter) (B Nodes)

          The problem is "Test" returns after the jobs are triggered, not after all the triggered jobs are actually complete, so if there is another scm commit, A or B can get triggered while the tests of the previous test run are still executing.

          At the moment all I can do is schedule test runs to ensure that they are run every 2 hours, instead of allowing them to be dynamically kicked off by scm commits.

          Stephen Morrison added a comment - I think this is what I need. I have multiple builds that do things differently (build on different branches), but share the same group of tests. The tests have a parent job, which uses the parametized trigger plugin to kick off all the tests. I am using the NodeLabel Parameter plugin to restrict which slaves tests run on so different branches don't step on each others toes. So A -> BuildA (Matrix build on all A Nodes) -> Test(A label as a parameter) -> Triggers Jobs (A label as a parameter) (A Nodes) B -> BuildB (Matrix build on all B Nodes) -> Test(B label as a parameter) -> Triggers Jobs (B label as a parameter) (B Nodes) The problem is "Test" returns after the jobs are triggered, not after all the triggered jobs are actually complete, so if there is another scm commit, A or B can get triggered while the tests of the previous test run are still executing. At the moment all I can do is schedule test runs to ensure that they are run every 2 hours, instead of allowing them to be dynamically kicked off by scm commits.

          Ranjit Kumar Gollamudi added a comment - - edited

          I am also looking for the same blocker option for child jobs, until a triggered project completed.

          Ranjit Kumar Gollamudi added a comment - - edited I am also looking for the same blocker option for child jobs, until a triggered project completed.

            fredg Fred G
            fredg Fred G
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: