我有一个半大型的Web应用程序,我们在本地运行,我需要在另一个位置部署它.第二个位置需要对项目进行一些细微的修改(特别是化妆品).您如何管理这些差异,以及您使用什么来向这样的客户分发网站和更新?
编辑:现在我们的网络应用程序在内部运行,我们使用Cruise Control .NET和带有WDP的MSBuild构建.什么是部署到客户的好选择?我们不会为他们更新他们的网站,因此需要一个易于部署和更新的解决方案.
分支您的代码.
希望您的代码是源代码控制的(如果没有,现在就开始!),您应该从基础分支到"Customer X"分支,并在该分支中进行轻微的修饰.然后,为该客户构建并部署该分支.
此外,如果更改足够小,您可以尝试使更改可配置.这样,您可以在任何地方部署同一个站点,只需更改配置即可满足客户的需求.差异越复杂,就越难以使它们可配置.
在查看注释之后:需要注意的是配置是实用的,但只有在更改的次数很小的情况下,否则您将使用配置逻辑污染您的代码.(谢谢评论者)
所以:很多变化 - >分支(更易于维护),几个小的变化 - >使可配置(更实用).