如何使用JIRA有效管理分支机构?

时间:2009-05-22 13:42:13

标签: versioning bug-tracking branch jira

我们开发的产品包含跨产品共享的核心运行时(project1,project2,...)和项目/产品特定部分。对于每个“产品”,我们维护多个分支,因为不同的版本已经推广到现场并需要维护,有时甚至是功能后退。

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

  • 我们使用组件来区分CORE,PRO1,PRO2等
  • 我们还使用组件来识别涉及哪些分支
  • 我们使用修订版来跟踪解决问题的迭代(迭代开发,每两周一次的迭代)

这或多或少有效,但使用分支的组件类型是一个黑客,并且缺点是你不能“退休”组件,只删除它们。我们选择这样做,因为如果我们将迭代与Fix Version字段中的分支混合在一起,我们就不能再查询“迭代X和分支Y”(JIRA不支持AND查询)。

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

上下文的一些统计数据:我们讨论的是每种产品类型约4种产品类型和约3种主要分支。

2 个答案:

答案 0 :(得分:3)

我对这个问题略有不同。我会为您的Core Runtime和每个项目/产品特定部件设置组件,但不要使这些组件分支特定。因此,您的Jira项目中可能包含以下组件:

  • 核心
  • ProductX
  • ProductY
  • ProductZ

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

这个系统有几个优点:

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

答案 1 :(得分:0)

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

这可以让您查询分支内特定迭代的问题,并且还具有可以针对每个修订版本设置截止日期的优势,以便您可以跟踪是否按计划进行。

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