微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GitVersion是否支持Mainline模式但具有开发分支?

如何解决GitVersion是否支持Mainline模式但具有开发分支?

我们使用的是Mainline模式,因此我们不必将每次合并都标记为master。但是我们使用了“开发”分支(来自“ master”)和“功能”分支(来自“ develop”)。

但是,我们的“功能”分支似乎是基于“主”分支而不是“开发”分支来计算版本的。是否有一个简单的修补程序可以使'feature'分支的版本基于'develop'分支的版本,以便它们的版本与他们致力于下一个Minor版本的工作有关?

我们自动将从“开发”构建的预发行版部署到我们的dev&qa环境中。 我们会自动将从“主版本”构建的稳定版本部署到我们的暂存环境(然后手动触发它们以部署到生产环境)。

GitVersion是否支持以下情况:

  • 将开发人员合并到主版本中会生成一个稳定的发行版,而无需标记 0.1.0
  • 功能分支合并到开发中会生成我们正在努力的下一个次要版本( 0.2.0 -alpha0002)
  • 的预发布版本。
  • 功能分支是开发的分支,具有我们正在努力的下一个次要版本( 0.2.0 -jira-123-0004)

我们想要这样:

  • 主( 0.1.0
    • 开发( 0.2.0 -alpha0002)
      • 功能 0.2.0 -jira-1234-0004)

但是却得到了这个:

  • 主( 0.1.0
    • 开发( 0.2.0 -alpha0002)
      • 功能 0.1.1 -jira-1234-0004)
mode: MainLine
branches: {}
ignore:
  sha: []

我已经为此努力了一个星期。我已经阅读了文档,甚至下载了源代码

我尝试了mode,is-mainline,source-branches等的几种组合,但是总是遇到版本冲突。

mode: MainLine
branches:
  develop:
    is-mainline: true
    is-source-branch-for: ['feature']
  feature:
    increment: Minor
    source-branches: ['develop']
ignore:
  sha: []

似乎让GitVersion预测开发和功能分支的下一个稳定版本的唯一方法是使用ContinuousDeployment模式并在master上标记提交。

解决方法

这解决了我的问题:

mode: Mainline
branches:
  feature:
    regex: ^feature?[/-]
    increment: Minor
  hotfix:
    tag: 'hotfix-{BranchName}'
ignore:
  sha: []
merge-message-formats: {}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?