Lynn 在 2012-6-28 下午7:32,"Bap" <old_ho...@a1.org.uk>写道:
> Quoting Jan Seidel <wakkal...@gmail.com>: > > Hi folks, >> >> I am trying to parallelize some of our builds to speed things up. >> This particular build is quite special as it also interacts with >> databases. >> Multiple write access on a database will wreck the content, so this must >> be >> avoided by all means. It takes us in worst cast out of business for 2 >> weeks >> and creates loads of work and stress. >> >> Don't ask me why the DB design is as it is, that's pretty complicated, >> insane, sooo wrong and not worth discussing in order to fix that issue and >> let the build jobs just do what they are meant to do. >> Have been there, didn't like it, went away! >> >> The initial build job is a dispatcher that decides which job to run. So >> far >> quite easy but it also checks for 2 conditions which requires to almost >> identical jobs asides of one of the repositories location. >> *So the jobs access mostly the same ressources including the database >> which >> must not be simultaneously!* So they are a kind of "*siblings*" >> The default is set that inhibits to spawn duplicate jobs but with this >> second condition is it changing a bit. The second condition requires to >> block a job if a duplicate or the sibling is running >> >> This brings me to a dumb situation. Either I find a way to: >> >> - refer to related AND non-related jobs which may block a build >> - block on top-level (the dispatcher). This works but scraps all my >> efforts to get jobs not sharing same ressources to run in parallel >> - do not block jobs and hope that the developers don't botch it and >> wreck a database *yuk* >> >> Do you know a solution to block a job if a clone or a sibling already is >> running? >> >> > https://wiki.jenkins-ci.org/**display/JENKINS/Throttle+** > Concurrent+Builds+Plugin<https://wiki.jenkins-ci.org/display/JENKINS/Throttle+Concurrent+Builds+Plugin> > > Create your "lock" in the global config: > category = "db-modifiers" > max total concurrent builds = 1 > > Then enable throttle concurrent builds in any job that modifies the > database, and select the category. > > > HTH, > Bap. > > >> >> Cheers >> >> Jan >> > > > >