Build process 如何发布可交付成果的子集?
关于我的问题。在客户端UAT之后,我们经常让客户端说,他们很高兴能够发布一部分特性,而其他特性则希望在将来的版本中发布 我的问题是“如何发布2/3(三分之二)的功能”。 我想知道微软这样的大公司是如何应对这样的情况的。。 “对,我们只打算在Word的下一个版本中发布45/50最初提出的功能/修复,打包并发布” 假设下一版本中未发布的这5项功能已启动。。在发布版本的构建和部署中,如何忽略它们 如何发布2/3的已开发功能 如何发布可交付成果的子集Build process 如何发布可交付成果的子集?,build-process,release,specifications,release-management,Build Process,Release,Specifications,Release Management,关于我的问题。在客户端UAT之后,我们经常让客户端说,他们很高兴能够发布一部分特性,而其他特性则希望在将来的版本中发布 我的问题是“如何发布2/3(三分之二)的功能”。 我想知道微软这样的大公司是如何应对这样的情况的。。 “对,我们只打算在Word的下一个版本中发布45/50最初提出的功能/修复,打包并发布” 假设下一版本中未发布的这5项功能已启动。。在发布版本的构建和部署中,如何忽略它们 如何发布2/3的已开发功能 如何发布可交付成果的子集 --Lee这通常是版本控制的一个功能,但根据项目的规
--Lee这通常是版本控制的一个功能,但根据项目的规模以及需要或不需要的变更集/修订的数量,这样做可能相当复杂 我在过去采用的一种不同但相当成功的策略是使功能本身可配置,并将其部署为对未完成的功能或不想使用某些功能的客户端禁用
这种方法有几个优点,即您不必处理哪些功能/修复程序已合并,哪些功能/修复程序尚未合并,这取决于您如何实现配置,以及该功能是否在部署时完成,客户可以改变主意,而不必等到新版本才利用附加功能。如果您事先没有考虑过这一点,那么很难做到这一点 但在未来,你可以这样做:
然而,如果这个请求有什么特殊的千载难逢的原因,我基本上会创建一个新的主干,重新合并一些分支,然后挑选其他补丁。或者禁用一些UI,正如其他海报所建议的那样。但我不会养成这样的习惯。这让我想起了我在Borland申请项目经理职位时被问到的一个面试问题。问题的措辞有所不同——一个功能中存在一个在固定发布日期之前无法修复的主要缺陷——但我认为同样的方法也可以奏效:在未来的发布中删除这些功能的UI元素 当然,这是假设你想留下的功能对你想发布的其他功能没有影响。。。但是如果是这样的话,仅仅改变用户界面要比试图做出更剧烈的改变容易得多
实际上,我认为您应该做的是将代码分支以供发布,然后在该分支上进行UI删除。这很容易,是否已经完成了:
我想我喜欢你关于每个新的主要功能都有一个分支的想法。。理论上。。除非我仍然希望人们经常登记,即使是到分行。由于我的CI将首先检查主干,您是否将CI设置在分支上