我的问题是,如何以良好的方式版本控制生产环境?版本控制的生产环境
这是我们目前的环境:
- (内部服务器)开发 - 版本控制源代码
- (客户服务器)验收测试环境
- (客户服务器)临时环境
- (客户服务器)生产环境
当我们发布接受新功能ance测试,我们在Visual Studio中进行发布,压缩更改并将其应用到测试服务器上。在那里,我们创建了一个备份文件夹(以便我们可以恢复更改),并制作发布文件夹,以便我们在批准时将这些更改移至暂存。
这是大量的手工劳动创建备份文件夹,释放文件夹,重新创建目录结构,并尝试跟踪什么功能进入什么版本。这是很费时的,并且一些开发者没有遵循释放过程总是有问题。
在理论上我可以让测试环境的存储库。 (忘记源代码,这是关于已发布的应用程序)在每个版本中,开发人员都会进行提交并提供有关他正在发布的功能的评论。
当功能应从测试移动到分段时,我们导出从上次更新分段环境进行更新并将其复制到分段应用程序中。在那里我们做了一个提交,稍后可以将其提交到生产环境。
这样做的缺点是使用Subversion会使应用程序与这些.svn目录混乱。这可以通过禁止访问IIS或web.config中的这些目录来修补。另一种解决方案是在应用程序根目录上的目录中使用Git。但Git很难与Windows环境中的无经验的开发人员一起工作。
有没有人有这个问题的经验?您如何版本控制您的生产环境?如果您需要恢复发行版,那么您是否有发布之前创建的备份文件夹?
我已经与我们的开发人员讨论过这个问题,他们看不到使用Subversion进行测试/临时/生产环境的版本控制和备份的任何问题。相反,他们会很高兴不要在每次需要发布新功能时都创建发布/备份文件夹。
同时对此也有一些不安全感。之前没有人听说过这个,在版本控制系统中有应用,我们不确定会有什么缺点。
如果您有这种情况的经验,我很乐意听到它。
的Mikael伦丁