Have you ever had a
hard time !@#$% maintaining and tracking the modification required to the configuration files (which define server specific values), while deploying your Java Applications? If yes, then this article is for you.
Description
A software module needs to be deployed & tested on a couple of servers (testing/ staging) before it can be deployed to the production server. I have come across a number of system developers and deployers who have had hard time modifying the configuration files that defines the server specific parameters to the projects. The most common example of system specific parameters is server's e-mailing details (separate email accounts or email servers might be used with separate application servers).
Solution
One of the solution is to maintain separate properties and ant build files, for separate servers.
Implementation
Participants
The solution that I discuss in this article, needs participation by both the developers and deployers.
File structure and placement of files
We assume the following file structure for our example: