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

UI for downstream jobs launched with 'build' step

    • Blue Ocean 1.1, Blue Ocean 1.2-beta1, Blue Ocean 1.2-beta2, Blue Ocean 1.4 - beta 3, Blue Ocean 1.5 - beta 2
    • 1.14.0

      Improvement on roadmap

      This improvement is on the Blue Ocean project roadmap. Check the roadmap page for updates.

      Same pipeline as JENKINS-38337

      stage "Stage 1"
      stage ("Trigger jobs") {
          parallel(
              downstream1: {
                  build 'downstream1'
              },
              downstream2: {
                  build 'downstream2'
              }
          )
      }
      

      In the logs, we see things like Starting building: downstream2 #3, however unlike the classic console, this is not a link, so you can't browse to the other build.

       

      Out of scope: 

      When the "don't wait" mode is used, there is no link to the resultant downstream job, so no need to link it back  ( ie build job: 'downer', wait: false)

       

       

          [JENKINS-38339] UI for downstream jobs launched with 'build' step

          Vincent Latombe created issue -

          James Dumay added a comment -

          vlatombe Is this a freestyle job that you are triggering downstream? what if we included the log of the downstream job in the step?

          James Dumay added a comment - vlatombe Is this a freestyle job that you are triggering downstream? what if we included the log of the downstream job in the step?
          James Dumay made changes -
          Link New: This issue is duplicated by JENKINS-38337 [ JENKINS-38337 ]

          In my case I'm triggering another pipeline

          Vincent Latombe added a comment - In my case I'm triggering another pipeline

          James Dumay added a comment -

          vlatombe interesting - whats the use case there?

          James Dumay added a comment - vlatombe interesting - whats the use case there?

          Vincent Latombe added a comment - - edited

          My main pipeline is doing packaging while there are several downstream pipelines run in parallel which does platform deployment. There are a couple of reasons to do this:

          • locking (the upstream is a multibranch pipeline, I want to limit number of downstream executions)
          • ability to re-run a single downstream in case of failure : we are deploying to cloud infrastructures, which have eventual consistency issues and are causing various timeouts/flakiness issues (each downstream is reporting its individual status to GH)
          • log rendering: the base console output for parallel branches is interleaved which makes investigation very complex if these are included within the same pipeline (and the current pipeline log drilldown is really not user-friendly)

          Vincent Latombe added a comment - - edited My main pipeline is doing packaging while there are several downstream pipelines run in parallel which does platform deployment. There are a couple of reasons to do this: locking (the upstream is a multibranch pipeline, I want to limit number of downstream executions) ability to re-run a single downstream in case of failure : we are deploying to cloud infrastructures, which have eventual consistency issues and are causing various timeouts/flakiness issues (each downstream is reporting its individual status to GH) log rendering: the base console output for parallel branches is interleaved which makes investigation very complex if these are included within the same pipeline (and the current pipeline log drilldown is really not user-friendly)

          James Dumay added a comment -

          vlatombe though would it be fair to say that Blue Ocean has solved the "log rendering" use case for parallel steps? There is a CloudBees plugin called "checkpoint" that solves the "re-run downstream job" use case.

          Not sure if I understand the Locking use case. Could you please describe that?

          James Dumay added a comment - vlatombe though would it be fair to say that Blue Ocean has solved the "log rendering" use case for parallel steps? There is a CloudBees plugin called "checkpoint" that solves the "re-run downstream job" use case. Not sure if I understand the Locking use case. Could you please describe that?
          James Dumay made changes -
          Epic Link New: JENKINS-35750 [ 171713 ]

          Concerning logs, I think it is pretty much solved by BO indeed.

          Checkpoint, I don't think the current feature solves it because the use case would be to restart only a few (the failed ones) of the tests that are executed in parallel, not all of them.

          Locking: on paper, https://jenkins.io/doc/pipeline/steps/lockable-resources/#lock-lock-shared-resource could solve it but haven't taken time to evaluate if it fully covers the use case.

          Vincent Latombe added a comment - Concerning logs, I think it is pretty much solved by BO indeed. Checkpoint, I don't think the current feature solves it because the use case would be to restart only a few (the failed ones) of the tests that are executed in parallel, not all of them. Locking: on paper, https://jenkins.io/doc/pipeline/steps/lockable-resources/#lock-lock-shared-resource could solve it but haven't taken time to evaluate if it fully covers the use case.
          James Dumay made changes -
          Priority Original: Major [ 3 ] New: Minor [ 4 ]

            Unassigned Unassigned
            vlatombe Vincent Latombe
            Votes:
            61 Vote for this issue
            Watchers:
            87 Start watching this issue

              Created:
              Updated: