修订控制,构建和部署。生产代码与测试代码

时间:2013-11-10 14:32:55

标签: spring deployment version-control build

我们的项目由单个war文件(Web应用程序)

组成

我们的git存储库中有一个master分支,其中包含所有源文件。

我们使用的是暂存(测试)环境和生产环境。

两者都应该配置不同。

所以我们的问题是:

当我们将新功能推送到git存储库并构建war文件时。它包含特定于登台的数据。所以我们实际上无法在生产中部署这场战争。

有关如何解决此问题的任何想法? (从prod变为test的文件例如: spring配置文件,其他配置文件,一些xmls等)

一个天真的解决方案是拥有2个分支(一个用于生产,另一个用于测试),但这听起来非常麻烦。

1 个答案:

答案 0 :(得分:0)

从长远来看:

尝试从spring上下文文件中提取特定设置,并使它们成为应用程序服务器中配置的应用程序参数。

例如数据库连接设置:在应用程序服务器中配置数据库连接,并通过JNDI使其可用。然后您的应用程序可以从JNDI获取数据库连接。因此,您的应用程序将独立于您的具体数据库连接设置。

您可以使用相同的技术进行其他配置。当然,您可以使用它来启用/禁用Spring Profiles。