首页 > 解决方案 > 在 Azure Devops 中使用 GitVersion.yml 对 Nuget 包进行版本控制

问题描述

我坚持了整整一周,但我没有到达我想要的地方。我正在考虑有两个分支:

-大师

-发布(我们称它为vNext - 整个公司都知道这个名字)

Master 分支将生成没有预发布标签的包。Release 将生成预发布版本,例如:

=>主人在 1.0.0

=>创建一个vNext(发布)分支,如:vNext/1.1.0

=> 在此处编写所需的代码并提交;

=> 自动触发我的管道,因为我已将触发器设置为分支mastervNextvNext/*

=> 我希望它创建一个像 (1.1.0-beta1) 这样的包

=>创建一个pullRequest到master

=> 自动触发我的管道,

=> 我希望它创建一个像 (1.1.0) 这样的包

这是我的 gitVersion.yml

next-version: 1.0
mode: Mainline
legacy-semver-padding: 0
build-metadata-padding: 0
commits-since-version-source-padding: 0
assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatchTag
assembly-informational-format: '{LegacySemVer}'
branches:
  master:
    regex: master
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    tag: ''
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  release:
    regex: vNext?[/-]
    source-branches: ['master']
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    tag: beta
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch:  true


我无法正常工作。为了达到我现在的位置,即使在 stackoverflow 中,我也已经用谷歌搜索了很多,但找不到适合我需要的场景的解决方案。

构建 vNext 1.1.1-beta1 合并到大师

还有https://drive.google.com/open?id=1Cy-K3P4ajyUUvvtdt0oa5_NTp1FZ-UIF

这是来自构建的日志

标签: azureazure-devopsnugetazure-pipelinesnuget-package

解决方案


作为我的测试,我将您的 yml 更改如下。

next-version: 1.0
mode: Mainline
legacy-semver-padding: 0
build-metadata-padding: 0
commits-since-version-source-padding: 0
assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatchTag
assembly-informational-format: '{LegacySemVer}'
branches:
  master:
    regex: master
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    tag: ''
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch: false
  release:
    regex: vNext
    source-branches: ['master']
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    tag: beta
    track-merge-target: false
    tracks-release-branches: false
    is-release-branch:  true

然后我得到这样的结果。 在此处输入图像描述

希望这会有所帮助。


推荐阅读