0

我们的项目由一个单一的战争文件(网络应用程序)组成

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

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

两者都应该以不同的方式配置。

所以我们的问题是:

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

关于如何解决这个问题的任何想法?(从 prod 更改为 test 的文件例如:spring 配置文件、其他配置文件、一些 xmls 等)

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

4

1 回答 1

0

从长远来看:

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

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

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

于 2013-11-10T20:39:26.073 回答