views:

952

answers:

20

What tools do you use for Automated Builds / Automated Deployments? Why?

What tools do you recommend?

+6  A: 

Hudson for automated builds. I chose it because it was the easiest to setup and demo. A system that's too complex and isn't slick-looking won't impress management enough to get them on-board for automated builds. Especially in a project that has a lot of inertia.

schwerwolf
Whe are using hudson here too. It is so much good and has some plugins to analyze data that our build creates (like test reports, coverage tools and some other code analysis).
marcospereira
+2  A: 

Funnily enough I just spent two weeks overhauling (read implementing from scratch) our nightly build process. Great fun (no, really). I toyed with the idea of installing Team Foundation Server, but we use Perforce for source control and I didn't think it was worth the hassle.

Our process is now a set of Powershell scripts that run on a dedicated build/test server that do the following on a scheduled task:

Wipe out the entire source tree (check that you didn't have anything checked out first!)

Bring down the entire source tree from Perforce (from the last labelled build)

Generate a change report (by syncing to HEAD and watching what comes down)

Build the App

Index the PDB files to the Perforce sources

Store the binaries and symbols in a dedicated symbol server

Run the test projects

Build the installer

Label

Send out emails to the group with status reports on all of the above

Works well.

Wayne
+1  A: 

CruiseControl for automated builds. Works great.

Paul Reiners
+1  A: 

At work we use good ol' Ant to build our Java servlets.

Kevin Conner
A: 

make and bash on linux

make and cmd on windows

BCS
+1  A: 

For automated builds, I think the best tool going right now is JetBrain's Team City. The free version has all the features you'll need for most 5-10 person teams. Set up is easy, configuring new projects is painless (relatively), and most importantly, it's reliable.

For automated migrations, nothing beats PowerShell.

Don
+4  A: 

NAnt for builds (but MSBuild, Rake, almost anything would be fine) and CruiseControl.NET for deployments. I'm currently working with the new Cruise from ThoughtWorks studios as it provides a better way to stage the various pipelines and let's me deploy any version I want to a target environment.

Bil
I have been pretty excited about seeing Cruise!
ferventcoder
+1  A: 

We used to use Visual Build from Kinook software, but recently with our new application we switched to MSBuild since it had better integration with TFS and the ability to create custom tasks.

Whoiskb
A: 

The GNU Autotools definitely. The autoconf and automake are de-facto standard for unix systems.

grigy
+1  A: 

Automated Build Studio.

Instead of letting you mes with scripts or xml files, it comes with predefined graphical macro operations that allows you to create tasks easily.

Ngu Soon Hui
... but we're programmers here.
xanadont
We're programmers, so we are lazy enough to use the most intuitive tools to get our job done. If that means no scripts no code, so be it.
Ngu Soon Hui
+3  A: 

Visual Build Pro

Maltrap
+1  A: 

Maven2 and Hudson.

Kind Regards

marcospereira
A: 

Awesome. I am going to check out the ones I have never heard of.

Surprised I haven't heard Boo mentioned yet.

ferventcoder
+2  A: 

We use TeamCity, from JetBrains. They also make Resharper And IntelliJ.

We use it for building our .Net applications, and it has been quite easy to set up, connect to TFS, and run additional tools from. It is very polished, and actually kinda reminds me of this site. Found it much nicer than CruiseControl, and for our team size it is free. If you need lots of different builds, more per-user builds, and so on then it costs a bit (but still quite reasonable).

Andrew Backer
A: 

I've had success using buildbot, triggered by a post-commit script on a subversion repository. This has been used for both automated builds and automated testing.

Andrew Edgecombe
A: 

ANT for both build and deployment/installs.

Makes a great cross-platform installer.

Mads Hansen
A: 

We use Hericus Zed Builds And Bugs Management for our automated builds.

We have 4 branches of code, each with java, c++, C#, cross platform compiles and installers for 5 OS's.

Steven M. Cherry
+1  A: 

For our Windows-compilable stuff, we use FinalBuilder.

Peter K.
A: 

Make for the builds. Debian packages for deployments (since our production servers runs it).

skinp
+1  A: 

UppercuT uses NAnt to build and it is the insanely easy to use Build Framework.

Automated Builds as easy as (1) solution name, (2) source control path, (3) company name for most projects!

http://code.google.com/p/uppercut/

Some good explanations here: UppercuT

ferventcoder