Fervent Coder

Coding Towards Utopia...by Rob Reynolds
posts - 278 , comments - 431 , trackbacks - 0

My Links

News


Rob Reynolds

Subscribe to Fervent Coder RSS
Subscribe to Fervent Coder by Email

About Me

I manage several open source projects. Need...
   ...package management for Windows?
   ...automated builds?
   ...database change management (migrations)?
   ...your application to check email?
   ...a monitoring utility?

I also write for



Like what you are reading? Want to buy me a cup of coffee?
PayPal - The safer, easier way to pay online!

Archives

Post Categories

Sites

Tools Matter: Automated Builds / Automated Deployments

Recently Oren posted about how Tools Matter.  I agree completely (110%!).  I remember a time when we didn't have automated builds and most assuredly didn't have automated deployments either.  I remember how long it took to get an environment set up.  Our testers would ask us to put the latest code in an environment and it would literally take over an hour sometimes to get the environment updated because we would deploy first to a DEV environment and then a TEST environment for them. Then we would have to test it to make sure we didn't forget something.  Then we would bless it off to the testers.

It was a very manual process and the builds were done with F5.  We had environment files that had to be set to be the one for each environment. Most people have these with multiple configuration files for each environment (we don't anymore, but that is a future post).  And then because you were copying from your local workstation, you might forget a file or include files with permissions you should not have.

Now when our testers ask for a build it takes less than three minutes.  Run the candidate build with our automated build tool. When that is completed, open the area where the code dropped on the build machine, find the deployment file and run it (double click it). Wait for the deployment script to finish. Inform the tester that it is done. Done. Like dinner. I can deploy to four environments within this 3 minute time frame.

Soon we will have it where you click just one button and it runs the candidate build and deploys it when it completes (and sends an email after it is done to the team because sometimes I forget to tell my tester that I am done deploying). 

Blindingly fast. Something that used to take hours.  Why? Because we didn't use to have the right tools.  Now we do.  I smile every time I use it now because I remember how bad it used to be (and I am an automation addict, but that is another story).  Now our testers have come to depend on how fast it is. They can now get many, many deployments per day when they used to only get one or two a day.  That leads to a faster feedback cycle and better quality code.  Which in the end leads to a faster release cycle with more features.

Another area we have tackled is speeding up our testers with automation. And we have refined it as we have learned more about what we are doing. We constantly look at ways to improve our environment with tools.

Tools matter.  Look for your pain points. Then look to what can help solve that. Automation or other tools to help you speed your process up. Always remember that any new tool comes with a learning curve, but with the right tools the ROI is much higher in the end.

Print | posted on Sunday, September 7, 2008 12:04 PM | Filed Under [ Code ]

Feedback

Gravatar

# re: Tools Matter: Automated Builds / Automated Deployments

What tools do you use for your deployment scripts? Are you using C# to code out the deployment like Oren, or do you have something else?
9/8/2008 9:52 PM | Josh Rivers
Gravatar

# re: Tools Matter: Automated Builds / Automated Deployments

@Josh: Right now, we use MSBuild for our deployment scripts. We are looking to move to Nant or some other tool.

We have been also considering tools like Rake or Boo.

If you are just starting, I would say to use Nant or MSBuild. Much of those frameworks are already built up (Nant has better documentation on tasks). Then as you find you need more customized support, start looking at other tools.
9/9/2008 11:43 AM | Robz
Gravatar

# re: Tools Matter: Automated Builds / Automated Deployments

It looks like Oren and I were thinking the same thing:

http://ayende.com/Blog/archive/2008/09/08/Requirements-101-Have-an-automated-deployment.aspx

http://ayende.com/Blog/archive/2008/09/08/Build-the-tools-that-arent-there.aspx
9/9/2008 7:01 PM | Robz
Comments have been closed on this topic.

Powered by: