azure - 在 Azure Devops 中使用 GitVersion.yml 对 Nuget 包进行版本控制

标签 azure azure-devops nuget azure-pipelines nuget-package

我坚持了整整一个星期,但没有达到我想要的目标。 我正在考虑有两个分支:

-大师

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

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

=>ma​​ster 版本为 1.0.0

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

=> 在这里编写所需的代码并提交;

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

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

=>创建一个pullRequest到ma​​ster

=> 自动触发我的管道,

=> 我希望创建一个像 (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 上搜索了很多,但找不到适合我需要的场景的解决方案。

Builds vNext 1.1.1-beta1 Merge to Master

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

这是构建的日志

最佳答案

作为我的测试,我将您的 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

然后我得到的结果是这样的。 enter image description here

希望这会有所帮助。

关于azure - 在 Azure Devops 中使用 GitVersion.yml 对 Nuget 包进行版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58614127/

相关文章:

visual-studio-2010 - 初始化任务 DownloadNuGet 时出错 : Not registered task DownloadNuGet

rest - HTTP REST 请求是访问 Azure 存储的唯一方法吗?

Azure 管理实例学生成本

azure - 未通过 Powershell 创建 type=AzureSqlMITable 的数据集

azure - 如何解决 Azure Function 中的请求超时问题?

azure - 创建新版本时,如何使用 API、az devops cli 或任何其他替代方案取消版本中的阶段?

git - 如何防止 VSTS 在验证 Pull-Request 时生成 NuGet 包?

nuget - 如何在 TeamCity 中使用 "\\company\network\share\"作为 NuGet 源?

azure - 使用模板时发布的额外工件

c# - 如何在 C# 中管理依赖项?