我们的项目由单个war文件(Web应用程序)
组成我们的git存储库中有一个master分支,其中包含所有源文件。
我们使用的是暂存(测试)环境和生产环境。
两者都应该配置不同。
所以我们的问题是:
当我们将新功能推送到git存储库并构建war文件时。它包含特定于登台的数据。所以我们实际上无法在生产中部署这场战争。
有关如何解决此问题的任何想法? (从prod变为test的文件例如: spring配置文件,其他配置文件,一些xmls等)
一个天真的解决方案是拥有2个分支(一个用于生产,另一个用于测试),但这听起来非常麻烦。
答案 0 :(得分:0)
从长远来看:
尝试从spring上下文文件中提取特定设置,并使它们成为应用程序服务器中配置的应用程序参数。
例如数据库连接设置:在应用程序服务器中配置数据库连接,并通过JNDI使其可用。然后您的应用程序可以从JNDI获取数据库连接。因此,您的应用程序将独立于您的具体数据库连接设置。
您可以使用相同的技术进行其他配置。当然,您可以使用它来启用/禁用Spring Profiles。