-
Improvement
-
Resolution: Duplicate
-
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.
- depends on
-
JENKINS-2072 Make the Queue implementation replaceable
- Closed
- duplicates
-
JENKINS-1938 Order Buildque / Block Projects for Upstream Projects
- Closed