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

标签 versioning bug-tracking branch jira

我们开发的产品由跨产品(项目1、项目2...)共享的核心运行时和项目/产品特定部分组成。对于每个“产品”,我们维护多个分支,因为不同的版本被推广到现场并需要维护,有时甚至需要向后移植。

我们还使用 JIRA 作为问题跟踪系统,但我无法找到对我们的产品类型/分支进行建模的正确方法。与此上下文相关的 JIRA 元素是组件和版本:

  • 我们使用组件来区分 CORE、PRO1、PRO2 等
  • 我们还使用组件来识别所涉及的分支
  • 我们使用修复版本来跟踪解决问题的迭代(迭代开发、每两周迭代)

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

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

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

最佳答案

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

  • 核心
  • 产品X
  • 产品Y
  • 产品Z

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

该系统有几个优点:

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

关于versioning - 如何使用JIRA有效管理分支机构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897907/

相关文章:

java - 我怎么知道 JVM 错误在较新版本中得到了解决?

github - 如何在 GitHub 上拥有一个带有公共(public)问题跟踪器的私有(private)存储库?

django - 将 Django South 与多个代码分支结合使用的工作流程

python - 为什么我的 python 包将其版本列为 5.0.6?

ruby-on-rails - 文件管理系统 : what to use as storage backend (docs content repository)?

plugins - 如何在 Trac 中快速添加工单?

linux - Git 检索在分支中修改的所有文件的列表

git - 从远程跟踪分支

java - 如何使用 Scala (50.0/51.0) 发出更新的类文件版本?

python-3.x - pip3 安装了一个违反需求说明符的依赖版本