处理具有多个版本的软件的发布管理的最佳方法是什么?
我的公司为房地产机构构建了一个Web应用程序 - 最初使用经典ASP进行编码,并逐步迁移到.NET。基本上,它是一个带有后端数据库的网站,与自定义Windows服务/ dll混合使用。 .NET应用程序非常标准。
在我以前的公司中,我们有一个传统的软件设计生命周期。我们构建了产品版本,当我们发布时,所有客户都收到了相同的代码。产品要求通过我们的工程团队过滤,发送到QA进行本地升级环境测试,然后推向生产。
该公司为多个客户提供多种版本的产品。基本上,客户A可以在1.5版本上,客户B在1.6上,客户C在2.0上。我们这样做是因为使用我们的应用程序的机构对影响其用户的任何变化都有严格的要求。如果客户对1.5版本感到非常满意,那么他们就会留在那里,即使版本2.0具有所有最新的花里胡哨。客户实际上会推迟升级,因为新的“功能”通过引起混淆而实际上损害了他们的用户群。
当你小的时候支持这种类型的生命周期很好,但随着你成长为数十或数百个客户,它对我们的DEV,DBA,QA造成压力,更不用说我们的支持团队了。现在我们处于这样一种情况:我们每周只能安排6-8个站点,可以根据需求进行更新。这迫使我们让其他站点等待2-4个月,以便在他们的站点上获得更小的更新。任何需要立即关注的生产问题或错误都会使事情变得更加棘手 - 因为已安排接收更新的网站需要优先排序才能腾出时间。
对不起,这太长了,但感谢任何帮助。我们越早做出一些更改,以便让我们的发布时间表更好。谢谢!
没有找到相关结果
已邀请:
3 个回复
念炯
客户端站点根文件夹包含一个web.config文件,其中包含任何非数据库驱动的特定于客户端的设置,例如连接字符串。当我们将
指向新版本文件夹时,我们不必担心更新连接字符串或任何其他客户端特定数据。这种困难的原因在于,每一个变化都要根据每个客户是否都希望以同样的方式改变来进行评估。如果没有,那么必须有一种方法来禁用(或不安装)该更改。 理想情况下,您希望尽可能多地托管客户端,因为您可以构建自动化或控制将客户端指向更新版本并执行数据库更新的过程的工具。 在某些时候,我们的计划是建立一种机制,让管理员收到新版本可用的通知。如果它们位于我们的托管环境中,则更新将涉及更改相应的虚拟目录路径。如果他们托管自己的,它将提供下载位然后进行路径更改的方法。那部分我们尚未有时间建立。此外,还可以构建一个管理工具,让支持人员更新人员并确定他们使用的版本。
缮记箔
薄扩络拜