Wired Up And Fired Up

      Software of distinction

Continous Cocoa
Here in Wired Up And Fired Up's bustling, metropolitan offices we build things - lots of things. Many of them in different technologies (although mostly Java and Cocoa these days).

And I wanted a Continuous Integration server to build the things for me while I did more important stuff like, go to the pub or walk the dog or anything other than build things really. I only wanted the one mind (I don't want to waste time to go fiddling about setting these things up for the hell of it) and it had to be capable of building Java and Cocoa targets as well as potentially anything else I could be bothered to throw at it.

And do you know what? I chose Continuum from the Apache Maven project.

On the face of it it may seem an odd choice but it's one that works extremely well and here are my top three reasons why.

1. Virtually Zero Configuration

Do you know how you configure CruiseControl to build a project? Well, you set up a work area, create some directories in it, check out a project into one of them, create another build script for it, create a config.xml, wade through pages of documentation, edit the config.xml...etc....etc.

Guess how you achieve the same in Continuum? You go to the web interface, click 'Add Project' and type in the Project Name, Subversion Url and your Subversion login and password (if required). Then, as if by magic, the project is all there ready to build.

2. Builds anything

When you add a project you pick a builder from Maven, Ant or Shell Script. If you can build it from the command line, you can build it from Continuum.
Just so you know - the following cut and pasted into a file called build.xml will tell Ant to build an XCode project...

<?xml version="1.0"?>
<project name="ProjectName" default="build" basedir=".">
 <target name="build">
  <exec executable="xCodeBuild" failonerror="true">
   <arg value="-alltargets"/>
  </exec>
 </target>
</project>


That's it. If you have that file in the same directory as your .xcodeproj check it all into Subversion and point Continuum at it, you're away.

Of course, you can create custom targets for different build configurations such as Debug, Test (OCUnit fans, take note) and Release and build them all together or separately.

3. The UI rocks

CruiseControl...



Continuum....



Hmm, pretty conclusive I'd say.

Of course, if you're only building Cocoa projects for OS X then I'd strongly recommend a look at BuildFactory from BleepSoft. However, if you work in a more heterogeneous or distributed environment then I think you'll find that Continuum is a lovely little app which will save you a lot of time and pain rolling your own build tools.

Need help setting up your builds? At Wired Up and Fired Up Ltd. we understand that your developers are often too busy developing to spend time setting up configuration management systems and writing build scripts, that's why we're offering a free project health check. Email us on [email protected] to see how we can help improve the quality, reliability and maintainability of your software.
|