2

我们开发的产品由跨产品(项目 1、项目 2、...)共享的核心运行时和项目/产品特定部分组成。对于这些“产品”中的每一个,我们维护多个分支,因为不同的版本被推出到该领域并需要维护,有时甚至是功能反向移植。

我们还使用 JIRA 作为问题跟踪系统,我无法找到正确的方法来为我们的产品类型/分支建模。在这种情况下似乎相关的 JIRA 元素是组件和版本:

  • 我们使用组件来区分 CORE、PRO1、PRO2 等
  • 我们还使用组件来确定所关注的分支
  • 我们使用 Fix Version 来跟踪解决问题的迭代(迭代开发、双周迭代)

这或多或少有效,但使用 Component 分支类型是一种黑客行为,并且缺点是您不能“淘汰”组件,只能删除它们。我们选择这种方式是因为如果我们将迭代与修复版本字段中的分支混合在一起,我们将无法再查询“迭代 X 和分支 Y”(JIRA 不支持 AND 查询)。

在 JIRA 中维护分支和跟踪迭代有哪些最佳实践?

上下文的一些统计数据:我们正在谈论大约 4 种产品类型和每种产品类型大约 3 个主要分支来维护。

4

2 回答 2

3

我会对这个问题采取稍微不同的方法。我会为您的核心运行时和每个项目/产品特定部分设置组件,但不要使这些组件特定于分支。因此,您的 Jira 项目中可能包含以下组件:

  • 产品X
  • 产品Y
  • 产品Z

然后,我会按版本区分不同的分支。我假设您有某种类型的版本编号系统,允许您将字段中的二进制文件绑定回特定的分支和版本。在 Jira 中为每个版本/分支设置一个版本。当您向 Jira 报告问题时,您可以选择一个或多个受影响的版本。

这个系统有几个优点:

  1. 如果问题跨越多个版本/分支,您可以识别问题中所有受影响的版本。
  2. 您可以将 Fix For Version 设置为一个或多个版本。有时,您可能只能修复主干或某个分支中的问题。也许这是一个主要问题,您必须跨分支移植修复程序。该系统使您可以灵活地查看所有内容并进行报告。
于 2009-11-20T13:22:25.770 回答
0

我能想到的一种快速方法是让您的迭代名称包括分支名称(也可能包括项目名称)。然后您可以使用修复版本来表示迭代以及分支,名称如 branch1_iteration1、branch1_iteration2、branch2_iteration1 等。

这将允许您查询分支中特定迭代的问题,并且还具有您可以针对每个修复版本设置到期日期的优点,以便您可以跟踪您是否按计划进行。

顺便说一句,我不会使用 JIRA 组件字段来表示项目(CORE、PRO1 等),而是使用单独的 JIRA 项目;这样,您将获得更好的粒度和灵活性。

于 2009-05-22T17:01:38.677 回答