无法在 TFS 2015 中将工作项分组到发布中?

No way to group work items into releases in TFS 2015?

我的团队刚刚开始在本地使用 TFS 2015 Update 1 来管理他们的开发过程。我已经设置了服务器并为工作项定义了一些自定义状态和转换,以便更好地映射到我们的流程。首先,我们将只利用看板,不会尝试使用迭代,原因有很多,我不会在这里详述。

我目前的问题是使用 TFS 来计划发布。具体来说,我看不出有什么方法可以将功能和用户故事分组到一个特定的版本中。我所有的谷歌搜索都找到了许多涉及 Microsoft Release Management 的文章,所以我安装并配置了它,但对于我的团队现在正在尝试做的事情来说,这绝对是过大的杀伤力。目前我并没有尝试自动部署到不同的环境,我只需要一种方法来将工作项分组到一个封装了 TFS 中发布概念的东西中。有没有办法做到这一点?我现在能想到的最好办法是进一步修改工作项模板,以提供一个简单的 "Release" 字段和一个选择列表,或者定义另一种类型的工作项,我可以将其他工作项分组。从我的角度来看,这似乎是 MS 的明显疏忽,所以我希望我只是遗漏了一些东西。

可以通过多种方式将工作分组到发布中,请记住 "Release Plan" 的概念在 TFS 中并不明确存在。发布管理涵盖 "Release to Production",但不涵盖任何规划。

发布计划的方式:

  • 一种方法是创建一个版本 迭代,当您不并行处理多个版本并且在处理之前真正完成一个版本时,此方法有效下一个。 Release 迭代曾经是默认的,但已从产品中删除,以支持交付冲刺的团队和进行持续交付的团队。

    Project Root
    + Release 1.2
      + Sprint 1
      + Sprint 2
    
  • 另一种选择是使用 标签。您可以使用表示它针对特定冲刺的标记来标记工作项。

  • 使用标记工作项,在积压工作中放置一个明显突出的工作项### END OF RELEASE 1 ## # 它下面的任何工作项都不是该版本的一部分。这种技术适合更敏捷的工作方式,更清楚地表明发布的内容是一个浮动的东西。

  • 创建自定义 发布工作项,link 您的其他工作项到此工作项以针对该版本发布。

  • 您选择在*自定义工作项字段**上创建选择列表是另一种选择。

除了 jessehouwing 解释的方法之外,还有几个可以与 TFS/VSTS 集成并提供高级规划功能的第 3 方工具。有关概述,请参阅 VSTS Marketplace

或者,您也可以像迭代路径一样使用区域路径。通过使用区域路径,您的好处是不会将 sprint 绑定到一个特定的版本。

这不是最佳解决方案,但在某些情况下可能是解决方案。

仅根据您关于计划发布的问题回答,然后:

  1. 创建名为 'Deployment' 的自定义工作项模板。
  2. 开始规划发布时,创建一个新的 'Deployment',比方说,名为 'MyProduct v1.1'。
  3. 在您的计划会议中,通过打开用户故事并添加 Link(使用部署工作项编号),适当地创建功能和用户故事,并创建与 'MyProduct v1.1' 部署的关系) 作为 'Related'.
  4. 要监视部署,请针对新的 'Deployment' 工作项模板创建自定义工作项查询。您可以将其配置为显示在您的仪表板上。
  5. 根据 'Deployment' 及其关系遵循您喜欢的任何发布程序。

为了保持一致性,您在创建 'Deployments' 时应遵循命名约定。

p.s。在这种情况下,我建议使用扩展名 'Work Item Visualization'。它将很好地映射出 'Deployment' 相关的工作项。

如果你想用TFS实际构建一个Release,那么Release Manager值得考虑

TFS 2015 Update 2.1 现在包含 built-in 版本的 Release Manager。与 Release Manager 独立安装相比,它 user-friendly 更易于配置。

要将工作项分组到 'release',您可以执行以下操作:

  1. 为您正在使用的存储库创建构建定义 - 请参阅 Build Def creation docs
  2. 创建发布定义 - 请参阅 Release Def creation docs

创建这些定义后,工作过程将是:

  1. 开发人员针对工作项工作
  2. 提交是针对 WI 编号(或任务)
  3. 当需要创建版本时,在您创建的定义上开始构建。这样做时,WI 将与内部版本号相关联。
  4. 构建成功后,根据您创建的定义启动新版本。
  5. 您有一组与发布相关联的工作项,请参见屏幕截图:

注意:您可以启用 CI 构建和发布,尽管以上是基于手动触发。

也可以直接调用ReleaseAPI定位Release关联的WI,但需要先获取Release的实际Id

不过,您目前只能根据了解版本查看这些关系。在现实世界的场景中,更现实的做法是查看工作项以查看其发布时间。要做到这一点,目前没有 built-in 功能,但是我的 own-answered 问题将指导您 - see here.