Automated nightly build - to schedule or not to schedule Team Build
Last week when I was checking out a scheduled build feature of some other product, I remembered that this was a post that I had written earlier but I hadn't posted yet...
Users of Team Build have asked about how to schedule a build at regular intervals automatically using Team Build. The answer was not as pretty as I would have liked to give...you have to use the NT scheduler and plug in the command line build to kick off builds at scheduled intervals.
Let's whizz back a bit to the planning stage of Team Build. Of course, we did originally think of having a build scheduler out of the box, but we had to cut it down due to various reasons including cost, relative priority of the feature and other related stuff. At that time, I personally thought this was a very strange decision, since for me scheduling builds looked like a basic feature for the product. But I must confess, the number of qs that were asked about the lack of this feature was actually much lesser than what I expected would be asked if it were as popular a feature as I imagined. Also, it did not quite generate any rants on the forums about absence of functionality either :)
Now, is the build scheduler a feature that a builder would really want? From one of the reasonings that we discussed in the team: Just giving a bland UI cover for the scheduler may not appeal to builders at all. Typically, builders prefer scripts and command line operations over UI (which is even referred to as an impediment :) So, our current option of having to use the NT scheduler to call the command line build seems to be a decent one instead of the UI. In fact, the command line lends itself very well to scripting. Also, just having a scheduler UI may not be that great a feature for the builder; we need to probably give a supplemental system to manage and queue builds in case of conflicts etc. Khushboo has a related post where she discusses this feature in depth.
Ummm...yes, this does sound fair, albeit I tend to be a bit ambivalent about this. VSTS' unique offering is the power of integration. So, if you had a dialog box that would pop up within VS and you could use it to schedule regular builds, then I would term it useful. After all, the freedom of performing all operations from within VS without ever having to leave the app is one of the most compelling features of Team System. Now, in the same breath I also say that there are more desirable features that could be added to the product - stuff like increasing scalability to make it suitable for bigger teams, continuous integration out of the box etc. But somehow, the build scheduler still seems to appeal to me as a feature that would probably make Team Build feel a bit more complete.
I wonder what the builders out there think...
Comments
- Anonymous
January 25, 2006
I don't want to crib but this is a perfect example for my post http://blogs.msdn.com/abhinaba/archive/2006/01/25/517283.aspx
In case you are looking for a batch file to configure a schedules build, then check out http://blogs.msdn.com/abhinaba/archive/2005/11/21/495179.aspx
You can use the batch file in this post to schedule builds using something like
schbuild MyTFSServer MyTeamProject MyBuildType DAILY 12:00:00 12/22/2005
We also have a standalone UI as a wrapper over the scheduler. I have not yet published it. The reason is that I'm not convinced about giving it out is because it configures the scheduler on the client. Clients by nature are volatile machines, scheduler for a scheduled build needs to run on the TF Server. - Anonymous
January 25, 2006
The comment has been removed - Anonymous
January 26, 2006
The comment has been removed - Anonymous
May 01, 2006
I have to say I am amazed this shipped without the scheduled build feature. - Anonymous
May 19, 2006
I too am at a loss as to why there is no "good" scheduling mechanism. We have to jump through hoops to implement Continuous integration in this system. As was previously stated, there should be time-based and event-based initiation of the build. If you give me that, I will be happy. - Anonymous
December 10, 2006
Any progress or alternative solutions on this by anyone?