保留相同的项目源以进行开发和生产

时间:2017-03-23 08:53:50

标签: asp.net-mvc github

我对维护项目有一般性质疑。我们的项目在开发源和生产源之间有一些代码更改。即生产源在Web配置中具有实时数据库配置,并且支付结账模式在某些类文件中设置为生产。但在开发源中,这些都设置为测试环境。除了那些开发和生产都具有相同的代码。由于开发和生产源之间存在差异,我们必须单独保留这些源,并在两个源上工作以发布任何更改。我们经常进行任何功能和错误修复,并立即发布更改。所以我们无法遵循Gitflow模型(开发和掌握)。但Github模型适合我们的情况,因为在完成功能或错误修复后立即发布。

问题是Github模型说要单独维护主源。但是在我们的情况下,主源连接到生产数据库,因此从master获取分支也连接到生产。我们需要我们的开发应该用测试配置来完成。我们如何在主分支本身中维护生产和测试配置,并切换一些配置导致连接到测试或生产。这样做的最佳方式是什么?

谢谢, KARTHIK。

2 个答案:

答案 0 :(得分:0)

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

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

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

在本质上,它只是创建另一个Web.{build profile name}.config,当您在该构建配置文件中发布时,您的web.config将是transorm

更详细的检查 https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/web-config-transformations

答案 1 :(得分:0)

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