【问题标题】:Publishing an internal NuGet Package with Automatic Versioning best practice使用自动版本控制最佳实践发布内部 NuGet 包
【发布时间】:2017-11-13 23:49:09
【问题描述】:

因此,我们正在尝试自动化我们的构建过程和一些内部 dll 的 NuGet 发布,并试图找出 VSTS 自动版本控制的最佳实践。

我一直在阅读这篇文章 (Versioning Nuget Packages CD),其中讨论了用于自动版本控制的 SemVar,这很好,但我想知道是否有一种方法可以将版本控制自动化到一个 Major.Minor.Patch架构。我的直觉告诉我这不合理,我的意思是这个过程怎么知道你是发布一个主要、次要还是补丁,但也许我没有想到什么。

无论哪种方式,有关版本控制最佳实践的任何提示都会很棒。我认为至少必须有一种方法让我们在提交主控并触发构建过程之前编辑装配信息,然后将其全部打包并获取新版本。提前致谢。

【问题讨论】:

    标签: azure-devops versioning


    【解决方案1】:

    自动发布nuget包版本并相应增加major/minor/patch,两种建议的方法是使用带有GitVersion的GitFlow分支模块手动计算更新版本。 p>

    选项 1:将 GitFlow 分支模块与 Gitversion 一起使用

    如果你在 git repo 中管理你的源代码,你可以使用GitFlow 作为分支模块。然后您可以在构建/发布定义中使用GitVersion 任务,它将提供增量版本。

    更多详情,可以参考Versioning NuGet packages in a continuous delivery world: part 3

    选项 2:手动计算更新版本

    您可以根据需要更新的方式定义如何更新主要、次要和补丁。您可以通过添加 PowerShell 任务来实现:

    在变量选项卡中添加一个变量(例如version)->获取当前版本->将变量version设置为当前版本的值->定义如何更新版本的方式(例如更改用于构建提交/变更集的文件 A,然后更新次要)-> 使用更新版本更新变量 version 的值。

    在 Nuget 包步骤中,为变量 version 的值指定包版本。然后发布包。

    更多细节,可以参考文章Versioning NuGet packages in a continuous delivery world: part 2更好的选择版本号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 2010-09-24
      • 2012-03-22
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多