AutoBuild - Automated Software Builder

Update: AutoBuild is now housed on GNA and has its own dedicated website

The AutoBuild package is a framework for performing continuous (or scheduled), unattended software builds. It is written in Perl & makes use of its OO module capabilities to allow new functionality to be quickly plugged into the framework.

Core Features

  • Capable of running on a continous cycle or at regularly scheduled times.
  • Retrieves code from multiple repositories, currently including CVS, Perforce & Local Filesystem.
  • Capable of building software packages written in any programming language.
  • No dependancy on a particular build system (ie Make vs ANT); Build process simply requires a single, opaque, shell script.
  • Can handle arbitrary binary output package formats (eg, ZIP, TAR, RPM, Solaris PKG, etc).
  • Able to build multiple versions/branches of a software package in a single cycle.
  • Full build regression - ie packages can be built against packages built earlier in the build cycle.
  • Can copy binary & source distribution files & build log files to arbitrary directories (eg, to FTP or WWW server root).
  • Can generate status pages using a simple text templating system.
  • Can send email alerts on success or failure of a build cycle.

Download

The release below is considered obsolete. For latest code visit the autobuild site or go directly to my CPAN directory.

Required software

The current formal releases are:

AutoBuild 0.9.0 - 14/02/2003

Nightly Snapshot

The latest snapshot is available from my nightly build page (this is still running Richard Jone's original Rollingbuild software on which AutoBuild is based):

Wishlist

Here are a few ideas we're working on or would like to add at some point:

  • Save log files / status information to a database to provide a historical record of build cycles.
  • Caching builds of packages which haven't changed since previous build cycle.
  • Support for other common version control repositories, namely BitKeeper, Subversion, RCS, SCCS...
http://berrange.com/coding/autobuild