GitVersion构建元数据未正确递增

问题描述 投票:1回答:1

我正在为AzureDevOps使用Gitversion任务5.1.2。

我的分支策略是GitFlow。

来自开发分支的输出:

Base version used: Git tag '3.0.0-beta.5': 3.0.0-beta.5 with commit count source 35fb4fe5e51526375e94f61dfc3cca421d235c11 (Incremented: 3.0.0-beta.6)

我原本期望3.0.0-beta.6,从上面的行中我可以看到它正确地计算了元数据,到目前为止还不错,但是最后,更新号是3.0.0-beta.1,因为如下所示。

  INFO [11/27/19 19:13:42:97] 1 commits found between 35fb4fe5e51526375e94f61dfc3cca421d235c11 and c6bf7b9b86727f1fcd944dc32d7e34be57e4c0cc
  INFO [11/27/19 19:13:43:00] Begin: Creating dictionary
  INFO [11/27/19 19:13:43:01] End: Creating dictionary (Took: 8.32ms)
  INFO [11/27/19 19:13:43:02] Begin: Storing version variables to cache file D:\a\1\s\.git\gitversion_cache\0DA5D62C7623C962136858D6D06616CC294FEB91.yml
  INFO [11/27/19 19:13:44:07] End: Storing version variables to cache file D:\a\1\s\.git\gitversion_cache\0DA5D62C7623C962136858D6D06616CC294FEB91.yml (Took: 1,053.64ms)
  INFO [11/27/19 19:13:44:43] Applicable build agent found: 'VsoAgent'.
Executing GenerateSetVersionMessage for 'VsoAgent'.
Executing GenerateBuildLogOutput for 'VsoAgent'.
  INFO [11/27/19 19:13:44:45] Updating assembly info files
  INFO [11/27/19 19:13:44:47] Found 1 files
##[section]Async Command Start: Update Build Number
Update build number to 3.0.0-beta.1 for build 4043

我的GitVersion.yml

mode: ContinuousDelivery
branches:
  master:
    regex: master
    tag: ''
  release:
    regex: releases?[/-]
    tag: rc
  feature:
    regex: features?[/-]
    tag: alpha
  develop:
    regex: dev(elop)?(ment)?$
    mode: ContinuousDeployment
    tag: beta
ignore:
  sha: []
merge-message-formats: {}

而且我不明白为什么?

有人可以帮我吗?

git git-flow gitversion
1个回答
0
投票

问题是早午餐release/2.2.0合并回开发时,在GitVersion.yml中有next-version: 3.0.0标记,提交计数为5。因此,GitVersion创建了内部版本号3.0.0.beta.5。到目前为止,还算不错,但是这种合并会以某种方式重置提交计数。

[在下一个拉取请求中,结果是,即使不再有next-version: 3.0.0标签,已经有一个标签3.0.0.beta.5,并且它之前已经正确计算了增量,GitVersion选择了3.0.0作为版本号,并使用提交计数添加元数据beta.1,以创建Update build number to 3.0.0-beta.1

我的助手是按如下方式更改GitVersion.yml文件:

next-version: 3.1.0
mode: ContinuousDelivery
branches:
  master:        
    regex: master    
    tag: ''    
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  release:
    tag: rc
    tracks-release-branches: false
    is-release-branch: true    
  develop:
    tag: beta
    increment: Minor
    tracks-release-branches: true
    is-release-branch: false
ignore:
  sha: []
merge-message-formats: {}

我使用:

  • next-version 3.1.0 =>强制下一个版本创建标签3.1.0.2代替3.0.0.0.2。这是一次性的事情,只是回到正确的轨道。

  • increment =>告诉GitVersion在每个部分增加哪个部分早午餐,发布默认为无;

  • [tracks-release-branches =>告诉GitVersion早午餐是或而不是Gitflow策略中的开发早午餐

  • [is-release-branch =>告诉GitVersion早午餐是在Gitflow策略中发布早午餐

© www.soinside.com 2019 - 2024. All rights reserved.