为开发和生产保留相同的项目源



我有一个关于维护我们的项目的一般性查询。我们的项目在开发源代码和生产源代码之间有一些代码更改。也就是说,生产源在 Web 配置中具有实时数据库配置,并且在某些类文件中将付款结帐模式设置为生产。但在开发源代码中,这些设置为测试环境。除此之外,开发和生产都有相同的代码。由于开发和生产源之间存在差异,我们必须将这些源分开保留,并在两个源上工作以发布任何更改。我们经常执行任何功能和错误修复,并立即发布更改。所以我们不能遵循Gitflow模型(开发和主)。但是 Github 模型将适合我们的情况,因为在完成功能或错误修复后会立即发布。

问题是Github模型说要单独维护主源。但是在我们的例子中,主源连接到生产数据库,因此从主源获取分支也连接到生产。我们需要我们的开发应该通过测试配置来完成。我们如何在主分支本身中维护生产和测试配置,并切换一些配置线索以连接到测试或生产。最好的方法是什么?

谢谢 卡尔西克。

根据我的理解,您的问题实际上是关于如何保持测试配置和生产配置分开。

如果我是对的,那么这是我的两分钱。

假设您的所有配置都在 web.config 中,为什么不使用配置转换,您将测试配置保存到 git(master)和 发布时使用转换将其更改为生产配置。

从某种意义上说,它只是创建了另一个Web.{build profile name}.config当您在该构建配置文件中发布时,您的 web.config 将被传输。

更多细节检查 https://learn.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/web-config-transformations

  1. 对于配置更改,请使用 Web 配置转换。您可以使用Visual Studio在生成时运行这些启用转换
  2. 使用依赖注入来模拟/伪造实现。您可以在 web.config 中设置一些键(该值将在 Web 配置转换中设置),这将决定是使用假实现还是使用真实实现

最新更新