【问题标题】:Azure Pipeline only push NuGet packages that have new versionAzure Pipeline 仅推送具有新版本的 NuGet 包
【发布时间】:2020-06-12 16:38:49
【问题描述】:

我有一个包含多个 DLL 的存储库,这些 DLL 创建单独的 NuGet 包。当主分支通过 NuGet 包和推送任务发生更改时,我想使用 Azure DevOps 管道自动发布这些包。我不想更改不会更改的 Dlls/NuGet 包的程序集版本。由于版本重复,运行我的管道会导致异常。

在阅读了微软的文档页面后,我尝试添加 publishPackageMetadata=true 但构建仍然失败。

【问题讨论】:

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


    【解决方案1】:

    对于nuget.exe push,我们在v5.1 及更高版本中添加了-SkipDuplicates 选项:https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-push#options

    .NET Core 3.1 SDK 及更高版本中的dotnet nuget push --skip-duplicate 也可以使用它:https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-push

    花 30 秒查看 Azure DevOps 文档,看起来他们有一个“allowPackageConflicts”选项:https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/nuget?view=azure-devops&tabs=yaml#publish-your-packages

    【讨论】:

    • 使用任务 DotNetCoreCLI@2 --skip-duplicate 选项不起作用。有一些 stackoverflow 问题试图解决这个问题。使用任务时 NuGetCommand@2 allowPackageConflicts 修复了该问题。
    • 如何将这些附加参数添加到 Azure DevOps Pipeline 中的推送命令?
    猜你喜欢
    • 2020-10-29
    • 2019-07-04
    • 2019-07-10
    • 1970-01-01
    • 2015-09-13
    • 2021-07-10
    • 2019-02-21
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多