Tim*_*ple 3 version-control release-management
作为这个问题的替代方案,管理特定客户的软件自定义版本的最佳方法是什么?
客户端版本之间的大多数差异在于用户界面的更改,以自定义软件,使其看起来像是客户端拥有的。更常见的是,这是一个简单的徽标更改。有时,配色方案也会发生变化。但有时会根据客户端启用或禁用功能。使所有这些版本保持最新并使特定客户端的用户可以轻松使用它们的最佳方法是什么?
此时,我们有五个不同的客户端,每个客户端都有自己的软件版本和自己的安装程序(在安装程序中包含其徽标)。这正变得管理起来很痛苦,而且随着越来越多的客户开始使用我们的软件,情况只会变得更糟。
因此,假设链接的问题不是解决办法,那么管理这些版本的最佳方法是什么?
“这正变得难以管理,而且随着越来越多的客户开始使用我们的软件,情况只会变得更糟。”
真正解决这部分问题的唯一方法是确保您的软件具有支持自定义的架构,作为核心产品之上的一层。理想情况下,它们只是运行时配置选项(颜色、徽标和启用/禁用非常适合此)。如果您获得(或想要)大量客户,请将可配置性直接推入核心产品中,并使客户能够自行进行定制。
更新时,您只需构建(并测试)一次核心产品,然后只需将已构建的核心产品作为库链接(引用)即可构建自定义版本。您可以将每个客户端置于单独的构建中,或者可以使用单个构建过程来为所有当前维护的客户端构建生成更新(后者可能更适合大量客户端)。如果您有“普通”版本,您可以将其构建为核心的一部分或与客户端版本一起构建,这取决于您的具体情况。
根据您的技术,可能可以独立于核心产品构建定制层。在这种情况下,客户端重建很少是必要的(也许仅对于某些重大更改)——您可以简单地在运行时链接到更新的核心产品。要部署到客户端,您只需部署更新的核心(如果您有支持此功能的部署方法)。
在不了解您的平台的情况下很难说更多细节,但您慷慨地保持了这个问题的不可知性。
| 归档时间: |
|
| 查看次数: |
1434 次 |
| 最近记录: |