Welcome to The Buildmeister
![]() | 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. |
|
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) |
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.
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.
This article describes how to implement a controlled and configurable PHP deployment process using Phing, dbdeploy and FTP.
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.
This article introduces the concept of Continuous Integration, and describe a set of practices for ensuring that Continuous Integration is implemented successfully.
This article describes how to implement a controlled and configurable PHP deployment process using Phing, dbdeploy and FTP.
A brief introduction to the features and capabilities of CruiseControl - an open-source Continuous Integration toolkit.
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.
A discussion on how to use and configure Subversion and related tools to implement an integrated build process with Apache Ant.
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.
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...
Great Tutorial, Helped me very much. Have a running CruiseControl set up now thanks to you. Thanks!
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.
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.?

![[WelcomeMan]](/userfiles/image/home/WelcomeManS.jpg)
![[The Buildmeister's Guide]](/userfiles/image/home/bmg.jpg)

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...