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):
- Nightly Build Experimental
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...