在VSTS上配置Nuget包以进行预发布

问题描述 投票:1回答:2

注意如果有更简单的方法来创建预发布包,请告诉我!

我正在使用Visual Studio Team Services并设置了nuget包和发布步骤。

我有一个名为$(BuildSuffix)的构建变量,它允许我将构建特定的变量标记到构建数字格式的末尾,就像这样

$(Build.DefinitionName)_1.0 $(日期:YYYY)$(日期:MM)$(日期: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包步骤如下所示:

enter image description here

nuget azure-devops azure-pipelines azure-pipelines-release-pipeline azure-artifacts
2个回答
4
投票

经过一番研究,把头撞在砖墙上,我弄明白了。你必须:

  • 配置本地构建代理
  • 安装Nuget CLI
  • 在Nuget Packager Task上将Path To NuGet.exe设置为NuGet CLI
  • 在同一个屏幕上设置NuGet Arguments-suffix beta

0
投票

使用新的NuGet任务(版本2),您可以指定其他构建属性,您可以直接传递自定义构建号,而不是使用-suffix NuGet参数。额外的构建属性用nuspec中提供的值替换$ token $,你可以自由地改变你想要的东西。

我也在你的屏幕截图中看到它,但我从未尝试过使用旧的NuGet任务,因为现在已经弃用了这些任务。

NuGet Packaging Task Group

也许尝试导入我在私人项目中使用的NuGet打包任务组定义会很有帮助。看看Here

© www.soinside.com 2019 - 2024. All rights reserved.