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

Automatically hold/queue builds based on dependencies (let us define build "workflows")

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Critical Critical
    • None
    • Platform: Macintosh, OS: All

      We have a relatively large number of builds running on Hudson across many agents. These projects all
      have interwoven dependencies to trigger one another, as well as SVN polling. Unfortunately Hudson
      doesn't seem to allow any easy way to enforce some basic locking/queueing of builds/jobs to avoid unnecessary builds, or builds with dependencies between them to run in parallel.

      For example, project A is our base. It polls SVN to trigger builds. Project B depends on A, and gets triggered to build whenever A builds successfully - or when a checkin is made into B.

      If a user checks into A and B simultaneously, Hudson will fire off both builds. Ideally it'd realize that B
      depends on A, and instead will fire off A and let the dependency cause B to build. With the current
      setup, B might depend on grabbing build results from A to be able to build properly and if they both
      run simultaneously those artifacts will likely get removed in the middle of the build. Not to mention we
      try to build B twice, when it should only happen once.

      We have about 20 projects all with dependencies and cascading builds, so this problem can multiply
      quickly, especially if users make large changes across projects.

            stephenconnolly Stephen Connolly
            sgtcoolguy sgtcoolguy
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: