Azure DevOps 在构建管道上从多个源还原包

Azure DevOps restore packages from multiple sources on build pipeline

今天,我试图在 NuGet 恢复阶段修复来自多个来源的构建管道,但找不到要使用的正确设置。

我有三个不同来源的包,

  1. Public 努格
  2. 私有 Azure DevOps 工件。

如果您有一个私有存储库要添加到您的 NuGet 恢复中,那么很简单,

您的 YAML 应如下所示

要添加第二个任务,请将鼠标焦点放在 - task: NuGetToolInstaller@1 的下一行,然后在右侧窗格中搜索 NuGet 并选择要添加的 Articat

如果您有多个私有源要恢复,最好的方法是从 nuget.config 文件中恢复包。

首先,在源代码管理的根目录下添加一个nuget.config文件。

如下添加您的 nuget 包源

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="AAA" value="https://pkgs.dev.azure.com/XXX/Prototypes/_packaging/YYY/nuget/v3/index.json" />
    <add key="BBB" value="https://pkgs.dev.azure.com/XX/IdentityServer/_packaging/YYY/nuget/v3/index.json" />
  </packageSources>
</configuration> 

现在在您的 YAML 上添加以下代码。

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '**\*.sln'
    feedsToUse: config
    nugetConfigPath: 'nuget.config'

您的构建管道应该开始工作了。如果有任何错误,请评论。