我们最近在我们的一个更大的项目中采用了功能分支的概念,以分离产品不同方面的工作,这些工作可以彼此独立完成。
对于每个所谓的功能,我们正在创建以下内容:
- 'main' 的一个分支,恰当地以功能应该是什么命名
- 项目门户中的新团队,包含将在该功能上工作的人员
- 用于根据分支上的源验证签入的构建定义
我想在这里讨论的主要观点是关于构建定义。目前,它们中的每一个都设置为门控签到。
那么问题是:将工作项与构建相关联的最佳实践是什么?
在我们的例子中,这些功能分支应该是一次性的:我们希望能够在功能完成后删除这些构建/分支/团队,但仍然能够在整个产品生命周期中跟踪它们。
如果我将工作项与这些临时构建相关联,我将在功能实现结束后失去跟踪功能。同时,我刚刚发现门控签入总是关联工作项,而不管构建定义中配置了什么。
禁用与功能分支的工作项集成(在这种情况下也将它们从门控集成转换为持续集成)并在主构建中启用它,以便可以在主产品线中跟踪这些功能是否可行?或者,也许这应该只为 Release 构建定义启用,以便我们可以找出某个版本中集成了什么?对于那些遵循 sprint/feature 概念的人,你如何处理这种情况?你也有每个分支的构建吗?
更新:
我刚刚在这个问题中发现了类似的东西(但不完全像我想要的那样)。那里的答案使我找到了一个插件,该插件会自动关联合并签入上的工作项。这本身应该提供很好的可追溯性,所以我想我会试一试。
仍然想听听您对这种情况下的构建有什么想法。