drohm, Thu 06/28/07 08:27 AM

I'd love to get some feedback on this from people. Agile or not, how do most shops handle firing off builds on their build server?  Do you let just anyone on the Development team do it?  Anyone outside the Development team do it?  A QA person?  Where does it end?

Where I work, I was given the responsibility of upgrading/re-doing our build process.  Before I finished updating it and rewriting the NAnt scripts, it was a complete and utter disaster.  Now that I've upgraded the server and build scripts to work correctly I now find myself wanting to protect it.  Before I upgraded our build setup anyone could launch a build, modify build scripts, etc.  This is true even after I did the upgrade.  The problem is I feel like there are too many cooks in the kitchen.  I cringe every time I see someone say "I'll fire off a build real fast", etc.  How do most shops handle doing builds?   By the way, I realize in a truly agile shop, this problem wouldn't exist because of the nature of Continuous Integration (it happens all the time...hence it's continuous).  Our shop isn't there yet.  I think my boss doesn't believe in any of the benefits of it.  I'm slowly trying to convince him, but have a lot of work to do in that area.

So, do most shops have a dedicated build master that handles the builds?  Or do they let just anyone tinker with the build, modify scripts, or launch builds?

If you don't know what CoComment is, be sure to follow the link and find out. It's an easy way for you to keep track of your conversations that you have on the net (replies to forums, blogs, etc...). Back when I was running CS 2.x, I had CoComment setup with my installation so that users who were posting replies to my site could easily authenticate with CoComment so that it could track their conversations. I never got around to figuring that out for CS 2007, but luckily I didn't have to - Thomas Freudenberg did all the work! He created a dll that you drop into your bin folder and add one line to ~/App_Browsers/default.browser:

<adapter controlType="CommunityServer.Blogs.Controls.WeblogPostCommentForm"

        adapterType="ThomasFreudenberg.CS2007.WeblogPostCommentFormAdapter, ThomasFreudenberg.CS2007" />

The beauty of adding his code to a control adapter is that he just specifies which controls need to be customized.  There isn't a need to modify any blog pages or controls.  Very clean.