在 VSTS 上为预发布配置 Nuget 包
Configuring Nuget pack for prerelease on VSTS
备注
如果有更简单的方法来创建预发布包,请告诉我!
我正在使用 Visual Studio Team Services 并设置了 nuget 包和发布步骤。
我有一个名为 $(BuildSuffix)
的构建变量,它允许我将特定于构建的变量标记到构建编号格式的末尾,就像这样
$(Build.DefinitionName)_1.0.$(date:yyyy)$(date:MM)$(date:dd)$(rev:.r)$(BuildSuffix)
然后我的想法是我可以将 $(BuildSuffix)
设置为 -beta
这样我的最终构建版本可能是 Build_1.0.20170119.2-beta
.
根据 nuget documentation here,将 -beta
附加到内部版本号将创建一个预发布包。 VSTS 中的构建附加了 -beta,但 nuget pack 阶段似乎从未包含它。它总是以确切的版本号出现,但没有 -beta
标记。
我的 nuspec 文件如下所示:
<package >
<metadata>
<id>MyCompany.Data</id>
<version>$version$</version>
我的 NuGet 打包步骤如下所示:
经过一番研究,我把头撞在砖墙上,我想出了办法。你必须:
- 配置本地构建代理
- 安装 Nuget CLI
- 在 NuGet Packager Task 上将
Path To NuGet.exe
设置为 NuGet CLI
- 同屏设置
NuGet Arguments
为-suffix beta
使用新的 NuGet 任务(版本 2),您可以指定其他构建属性,您可以在其中直接传递自定义构建号,而不是使用 -suffix NuGet 参数。其他构建属性正在用 nuspec 中提供的值替换 $token$,您可以随意更改其中的任何内容。
我也在你的屏幕截图上看到了它,但我从未尝试过将它用于较旧的 NuGet 任务,因为它们现在已被弃用。
尝试导入我在私人项目中使用的 NuGet 打包任务组定义可能会有所帮助。看看 Here.
备注 如果有更简单的方法来创建预发布包,请告诉我!
我正在使用 Visual Studio Team Services 并设置了 nuget 包和发布步骤。
我有一个名为 $(BuildSuffix)
的构建变量,它允许我将特定于构建的变量标记到构建编号格式的末尾,就像这样
$(Build.DefinitionName)_1.0.$(date:yyyy)$(date:MM)$(date:dd)$(rev:.r)$(BuildSuffix)
然后我的想法是我可以将 $(BuildSuffix)
设置为 -beta
这样我的最终构建版本可能是 Build_1.0.20170119.2-beta
.
根据 nuget documentation here,将 -beta
附加到内部版本号将创建一个预发布包。 VSTS 中的构建附加了 -beta,但 nuget pack 阶段似乎从未包含它。它总是以确切的版本号出现,但没有 -beta
标记。
我的 nuspec 文件如下所示:
<package >
<metadata>
<id>MyCompany.Data</id>
<version>$version$</version>
我的 NuGet 打包步骤如下所示:
经过一番研究,我把头撞在砖墙上,我想出了办法。你必须:
- 配置本地构建代理
- 安装 Nuget CLI
- 在 NuGet Packager Task 上将
Path To NuGet.exe
设置为 NuGet CLI - 同屏设置
NuGet Arguments
为-suffix beta
使用新的 NuGet 任务(版本 2),您可以指定其他构建属性,您可以在其中直接传递自定义构建号,而不是使用 -suffix NuGet 参数。其他构建属性正在用 nuspec 中提供的值替换 $token$,您可以随意更改其中的任何内容。
我也在你的屏幕截图上看到了它,但我从未尝试过将它用于较旧的 NuGet 任务,因为它们现在已被弃用。
尝试导入我在私人项目中使用的 NuGet 打包任务组定义可能会有所帮助。看看 Here.