Watchdog Systems Managementlogo

Structured Deployment Process


Integration is always the most difficult part of any software project. While there is no magic bullet, a strong deployment process and automated testing procedures can go a long way towards a coherent release process.

The most important single step is to move as many run-time configuration elements as possible from the compiled code to external configuration files. Application code should be constructed so that it is as generic as possible, and external files control the system elements that change from one environment to another. This allows the configuration files to be put under change control and individually deployed to each environment. Some application architectures do not lend themselves to this approach. In those cases, the team will need to branch the systems in SVN, and perform merges with the main development trunk for each deployment.

In order to build confidence that the system is of high quality, we recommend a continuous integration build process. This requires several steps:

 

With these pieces in place, it becomes much simpler to produce structured, reliable builds on demand. The system as a whole will resemble:


continuous_integration_process