【问题标题】:How to set up automatic nuget version increments如何设置自动 nuget 版本增量
【发布时间】:2020-03-29 07:02:18
【问题描述】:

在我的 dotnet 核心项目的发布管道中,我想自动增加程序集版本,因此我不需要每次都手动更新它。这样我的 Nuget 版本每次都会增加。

目前我正在使用dotnet pack 命令并在末尾添加内部版本号,使用“自动包版本控制”设置为“使用环境变量:Build.BuildNumber ”。然后我将“Option > Build Number Format”设置为“1.0.$(BuildID)”。首先,我尝试将 .csproj 文件的 属性设置为 1.0.$(BuildID),但管道没有选择它。

问题是每次我想调整我的主要或次要 semver 版本时,我都必须编辑我的构建管道。然而,与团队一起,我们同意不将构建管道配置放在源代码控制(yaml 文件)中。有没有办法可以将构建管道的一部分放在 yaml 文件中,以便我们可以覆盖部分配置?

例如:我可以将“Build Number Format”设置为“$(Major).$(Minor).$(BuildID)”,然后部分 yaml 可以覆盖 主要次要变量。

【问题讨论】:

  • 您好,您是否成功选择了 $(BuildID) 中的值?我有点困惑,您在第三段中说问题出在主要和次要变量上。
  • 我无法签入azure-pipeline.yml。 ops 部门无权访问我们的 repo,并希望将管道置于他们的控制之下(我们和他们可以通过浏览器在线访问管道,但是如果我们将配置放在 yaml 文件中,那么 ops 部门可以' t 更新管道)。但是我们确实想将一些值(如MajorMinor 变量)放在我们回购的一个文件中,所以我们可以在没有运营部门发言权的情况下更新它们。因为现在运营部门可以覆盖我们的主要和次要版本。

标签: azure azure-devops azure-pipelines


【解决方案1】:

如何设置自动 nuget 版本增量

如果您想自动增加 nuget 版本,您可以使用 BuildNumber $(Rev:r) 而不是 $(BuildID)

Run (build) number:

$(Rev:r)

2(这一天的第三次运行将是 3,依此类推。)

使用 $(Rev:r) 确保每个已完成的构建都有一个唯一的名称。 构建完成后,如果构建号中没有其他内容 更改后,Rev 整数值加一。

如果你想在号码中显示前缀零,你可以添加额外的 'r' 字符。例如,如果您想要 Rev,请指定 $(Rev:rr) 以 01、02 等开头的数字。

因此,您可以将内部版本号格式设置为 $(Major).$(Minor)$(Rev:.r)

希望这会有所帮助。

【讨论】:

  • 谢谢,我已经做到了。 :) 我想要做的是让设置驻留在云中(不在 azure-pipeline.yml 中),但通过本地文件(.csproj, azure-pipeline-partial.yml)。
  • @KenBonny,您可以在构建管道中使用带有内联 powershell 脚本的Logging Command 来覆盖变量。
猜你喜欢
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多