Welcome to The Buildmeister

[WelcomeMan]

In todays ever more competitive and globalized world, software development organizations are being squeezed with ever increasing time-to-market, cost reduction and compliance pressures. To address these pressures many are changing their release cycles - delivering frequently, with smaller sets of functionality. In parallel they are striving to make their overriding development lifecycle more transparent, visible and auditable. The build process sits at the heart of this effort. To improve, organzations will need to systematically revisit the build process, to understand its value and improve their practices.

The aim of this site is therefore to educate and inform on any topic related to the build process and the tools that can be used to implement it. In particular, the aim of this site is to raise the technical capability and skill level of the implementer of the build process - The Buildmeister.

[Apache Ant - The Buildmeister's Guide]

If you enjoy this site then you can help keep it going by purchasing a copy of The Buildmeister's Guide - Achieving Agile Software Delivery - the book of this website, which contains a collection of the best articles and information from this site together with some significant and new unpublished content.

Alternately, if you are an Apache Ant or Apache Maven user then try Apache Ant - The Buildmeister's Guide (with Apache Ivy, dbdeploy and CruiseControl) or Apache Maven - The Buildmeister's Guide (Coming Soon)

Recently Added Articles
Agile Database Change Management with dbdeploy (07-09)
A brief introduction to Agile Database Change Management practices and a detailed example of how you could use dbdeploy and Apache Ant to implement them on a Java project.
Escape from JAR hell with Apache Ivy the agile dependency manager (05-09)
Java applications can create and consume multiple open-source and commercial libraries. Trying to manage these libraries at build and execution time can quickly lead to a condition known as "JAR hell". In this article I describe how Apache Ivy can be used to help you take back control of your dependencies.
Automating the PHP deployment process with Phing, dbdeploy and FTP (01-09)
This article describes how to implement a controlled and configurable PHP deployment process using Phing, dbdeploy and FTP.
Agile SCM in the Enterprise (11-08)
This article discusses Agile Software Configuration Management, or Agile SCM - a well-designed, light form of SCM that can be used by software development projects practicing agile development methods.
Practices of Enterprise Continuous Integration (09-08)
This article introduces the concept of Continuous Integration, and describe a set of practices for ensuring that Continuous Integration is implemented successfully.
Popular Articles
Automating the PHP deployment process with Phing, dbdeploy and FTP (12693 views)
This article describes how to implement a controlled and configurable PHP deployment process using Phing, dbdeploy and FTP.
Introduction to CruiseControl (5663 views)
A brief introduction to the features and capabilities of CruiseControl - an open-source Continuous Integration toolkit.
Software Release Management Best Practices (5431 views)
This article describes the fundamental concepts of Software Release Management and discusses 10 best practices that can be adopted to improve your own application Release Management process.
Integrating Apache Ant and Subversion (5146 views)
A discussion on how to use and configure Subversion and related tools to implement an integrated build process with Apache Ant.
How to write a Build Management Plan (4998 views)
This article illustrates how you can formalize your build and release process through the definition of a Build Management Plan. It does so by defining the procedures for the myReserve reference project.
Recent Comments
Alan Gardener on Practices of Enterprise Continuous Integration:
Nice article, we struggle with automating deployment especially when there are so many variations of platforms, environments and targets. We have started to build up a library of scripts to for example, start/stop app servers, install, undeploy, load database ... but it is taking a long time to build up this set. Although they are unique to some degree there must be some form of ready-built stuff for this that is pluggable with workflow...
Alan Gardener on Practices of Enterprise Continuous Integration:
Nice article, we struggle with automating deployment especially when there are so many variations of platforms, environments and targets. We have started to build up a library of scripts to for example, start/stop app servers, install, undeploy, load database ... but it is taking a long time to build up this set. Although they are unique to some degree there must be some form of ready-built stuff for this that is pluggable with workflow...
Tom on Introduction to CruiseControl:
Great Tutorial, Helped me very much. Have a running CruiseControl set up now thanks to you. Thanks!
Kevin Lee on Automating the PHP deployment process with Phing, dbdeploy and FTP:

Phing is a "build control" tool it doesn't really have much deployment capabilities itself. Capistrano would be a better bet (see here for an example) but you have to learn rails to get the most out of it. Scripting your own process in Phing to call tools like scp/sftp etc could also be an option.

Abhishek on Automating the PHP deployment process with Phing, dbdeploy and FTP:
Is phing or capistrano efficient  tool for deploying php applications on 100 web servers? what should be best approach to deploy php application on huge number of servers.?