Thursday, October 2, 2008

Tools: Build Process Management & Integration

Build tools are mainly used and very much helpful in automating the build process for developers. They automate any tasks that developer might encounter during construction, testing, or deploying software application thus saving time drastically.

Following are few good practices on build process:

* Builds should be portable across operation systems.
* Builds should be independent of any IDE.
* Builds should support for multiple tasks/activities automatically.
* Continuous Integration (CI) of build for frequent integration activities.

Few of the well-known and widely used open source tools for build process are listed below:

Apache ANT - Another Neat Tool (ANT) is a Java based build scripting tool that uses XML based build file that describes the steps to build a project. It uses task-driven approach with many built-in tasks readily available with the tool.

Reference links: http://ant.apache.org/

Apache Maven - Maven is a Java based build scripting tool that also uses XML based build file that describes the project itself in a declarative way to build a project rather on steps. It uses declarative approach where project structure and contents are described promoting the standard directory structure.

Reference links: http://maven.apache.org/

CruiseControl - CruiseControl is a open source continuous integration tool for continuous build process management that uses XML based configuration file. It uses a process on CI server that periodically checks for any updates in source code repository, runs the build process and notifies listeners (including team members) through email, RSS etc.

Reference links: http://cruisecontrol.sourceforge.net/

No comments: