Thursday, February 23, 2012 7:14 PM
Several CI tools implement the concept of a quite period, so when a check-in occurs to trigger a build, the tool waits for a quite period before waiting to build. Additional check-ins can be accumulated into the build. Some of my developers want to check in changes with different check-ins to create separate change-sets. With a rolling build, it appears that the first check-in triggers a build and and subsequent check-ins are rolled up into a subsequent build that will wait the defined waiting period. This of course forces two builds when in fact I would prefer one.
How can I implement a quite period for check-ins in TFS?
Thursday, February 23, 2012 8:12 PM
Its quite simple and can be done with the TFS API and .Net code . This is the basic steps to follow:
- create an endpoint asmx or WCF) create an endpoint to listen to events
- subsribe to the check-in event
- Map the checkin to a build
- Wait for the desired time
- Kick the build
I actually done all of those steps and created a litle application "Build Kicker". It was a long time ago and I dont remeber the exact requirements for it, but I think those where roughly the same as the ones you described. You can find the source publicly available on my skydrive. Please refer to http://mskold.blogspot.com for a direct link (right border under Projects)
Monday, February 27, 2012 9:00 AMModerator
Thanks Mattias for your kindly help.
You can achieve your requirement with Mattias' opinion. And another option for you is that you should develop one custom build activity. In that build activity, you first put the build into the build queue, and then delay that build for a desired time.
For further information about creating custom build activity, please see:
Vicky Song [MSFT]
MSDN Community Support | Feedback to us
- Marked As Answer by Vicky SongModerator Friday, March 09, 2012 2:02 AM