如何创建补丁系统
How to create a patch system
我对制作我们的软件的最佳实践有疑问 "patch-able"。
一些关于我们的信息 product/company:
- 我们使用 C#/WPF 创建我们的软件
- 使用 Visual Studio 2013
- 有一些安装程序(高级安装程序)
- 使用 TFS 进行源代码控制。
每次我们创建一个release,我们都会把它放入tfs中的一个新分支,这样结构看起来是这样的:
- -- 主要
- -- 发布
- ---- 版本 1.0.0.0
- ---- 版本 2.2.0.0
- ---- 版本 3.3.0.0(非真实版本号)。
现在我遇到了问题,我不知道如何在不为每个版本打补丁的情况下让我们的产品打补丁。因为如果版本 1.0.0.0 和 2.2.0.0 存在错误并且我不想安装最新版本 (3.3.0.0),我需要修复这两个版本(1.x 和 2.x) .
有什么方法可以让我更优雅、更舒适吗?
谢谢!
根据我的经验,并非如此 - 我曾经在一个非常大的项目上工作,该项目的客户使用许多不同的版本,错误修复应用于所有版本并打补丁 - 这通常是一个手动(且乏味)的过程,由于代码库在不同版本之间经常发生充分变化,因此您不能简单地合并更改。
尽可能鼓励客户升级,并尽可能使用 TFS 的合并功能。
您应该转向持续交付模型。您需要更改设计产品的方式,以便可以在任何其他版本之上安装任何版本。如果您还确保对完成有一个明确的定义,并且交付周期很短,那么您将永远不需要安装补丁。只需发布一个包含您尚未准备好显示的功能的新版本即可。
查看 http://stories.visualstudio.com 看看 howba large 产品解决了这个问题。
如果您正在考虑 "that looks too hard" 那么您可能有过多的技术债务(或者更准确地说是未对冲的基金),您需要首先解决这个问题。
查看代码的功能标志和数据库的 Ready Roll 或 SSDT。
我对制作我们的软件的最佳实践有疑问 "patch-able"。
一些关于我们的信息 product/company:
- 我们使用 C#/WPF 创建我们的软件
- 使用 Visual Studio 2013
- 有一些安装程序(高级安装程序)
- 使用 TFS 进行源代码控制。
每次我们创建一个release,我们都会把它放入tfs中的一个新分支,这样结构看起来是这样的:
- -- 主要
- -- 发布
- ---- 版本 1.0.0.0
- ---- 版本 2.2.0.0
- ---- 版本 3.3.0.0(非真实版本号)。
现在我遇到了问题,我不知道如何在不为每个版本打补丁的情况下让我们的产品打补丁。因为如果版本 1.0.0.0 和 2.2.0.0 存在错误并且我不想安装最新版本 (3.3.0.0),我需要修复这两个版本(1.x 和 2.x) .
有什么方法可以让我更优雅、更舒适吗?
谢谢!
根据我的经验,并非如此 - 我曾经在一个非常大的项目上工作,该项目的客户使用许多不同的版本,错误修复应用于所有版本并打补丁 - 这通常是一个手动(且乏味)的过程,由于代码库在不同版本之间经常发生充分变化,因此您不能简单地合并更改。 尽可能鼓励客户升级,并尽可能使用 TFS 的合并功能。
您应该转向持续交付模型。您需要更改设计产品的方式,以便可以在任何其他版本之上安装任何版本。如果您还确保对完成有一个明确的定义,并且交付周期很短,那么您将永远不需要安装补丁。只需发布一个包含您尚未准备好显示的功能的新版本即可。
查看 http://stories.visualstudio.com 看看 howba large 产品解决了这个问题。
如果您正在考虑 "that looks too hard" 那么您可能有过多的技术债务(或者更准确地说是未对冲的基金),您需要首先解决这个问题。
查看代码的功能标志和数据库的 Ready Roll 或 SSDT。