Applications are tied to the environment they run on. After all, your app needs to know how to connect to the database or which mail server to use. As a best practice, these environment specifics are defined in configuration or property files, and not within the source code itself. However, if the same application's artifact is to be deployed on multiple environments, namely dev, QA, staging and production, you will need to swap the property files each time and repackage the artifact. Sounds error-prone.
Watch this video to see how you can use LiveRebel to apply properties based on the environment the application is being deployed onto. Also see how it enforces configuration consistency across all servers within a particular environment.