Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to delay CI build on Hudson until commit activity tapers?

This is my first time setting up Hudson and I would like to do trigger builds int he following manner:

(We're using SVN)

  • after a commit, but only after no more commit activity for a certain time period. I do not want to trigger a build for each commit if they happen within some small time delta. For example, flag a pending build/task on a commit, but wait until no more commits have happened for a period of time.

I don't want to just trigger a build each time period - I want time periods AND a commit to have taken place. Note also that the build should not take place if the last commit was very recent - we need to wait for some inactivity.

I may just end up doing a daily build. I really cringe about a unique build on every single commit. Right now the Win32 builds take 20 minutes to an hour depending on the machine. When we have cross platform builds that will be substantial as well.

I'm also open to comments and arguments for doing a build on each commit. (Note that the pattern of one of the developers is to commit a few different sets of files - in close succession. ) I'd rather not spend all the cpu cycles and disk space making a build that will be useless/dropped within a minute or two. I also don;t think that running multiple builds at the same time (does hudson do this or does it wait for a build to complete) is useful/desirable.

like image 757
Tim Avatar asked Feb 28 '23 14:02

Tim


1 Answers

Just set the quiet period on the build, under configure for each project.

alt text http://img40.imageshack.us/img40/6357/hudsonquietperiod.png

You'll just want a lot more than 5 seconds.

Hudson can do more than 1 build at a time, you just need to set up additional build slaves.

like image 188
Gene Gotimer Avatar answered Apr 28 '23 10:04

Gene Gotimer