Yesterday we saw a list of steps related to build and realized that automation could save a lot of time. But to enable automation we need some tool that can understand our requirement and carry it out whenever we want it to or on a schedule basis. So let’s take a look at some of the technologies that can help build automation. I am taking three of the popular technology environments here.
- Ant - a powerful and widely used tool for build automation in the java/j2ee arena. Ant basically works by having tasks and executing them in the order specified. The tool is triggered with a target and ant executes the dependent targets and tasks associated with that target. ANT scripts are xml based and are easy to understand and write.
- Maven - Maven is a software management and comprehension tool that works with the primary concept of project object model (pom). The pom represents the components , artifacts required by the project and its dependencies. Basically it contains everything about your project. The POM is the core and there are numerous plugins that can integrate with maven and can take care of lot of tasks other than just build and deployment.
- CruiseControl - CruiseControl helps schedule build that are written in ANT or Maven and execute them and publish the result.
- Ruby on Rails
- Capistrano (earlier called SwitchTower) - Ruby on Rails continues to make life simpler and easier with powerful plugins such as Capistrano. Highlight is using them and starting to work with them is as simpler and easier just like starting to working on ROR. You can have your build and deployment automated in a jiffy.