Environment-specific issues have always plagued developers and operations teams. A developer may work locally on a Windows or Mac computer, while his code may end up running on a Linux server. When promoting builds from one environment to another (test, stage, production), yet again the environment changes and leads to more possibilities of failure.
Consider a few simple cases of what can go wrong with changes in the environment:
- The file path separator used in Windows is a back slash \, while Linux requires the forward slash /
- Java version mismatch issues between environments
- Environment variables or configurations, such as datasource name or other application server settings can differ
- The OS library versions may not be the same and any dependencies on these can break the code
- The database drivers are usually part of the application server and the versions...