VSTS构建定义:在Nuget还原任务中添加多个源

时间:2018-02-27 02:16:10

标签: nuget azure-devops azure-pipelines

我正在设置VSTS构建定义。构建定义很简单。步骤:

  1. 从VSTS Git repo的主分支获取源代码
  2. 恢复nuget包
  3. 运行msbuild
  4. 步骤2的设置如下:

    enter image description here

    当我使用“我在这里选择的Feed”时,它只允许我选择一个Feed。这是一个错误吗?或者使用多个feed的唯一方法是通过Nuget.config?

3 个答案:

答案 0 :(得分:1)

作为另一种解决方法,也可以选择创建一个下游供稿,该供稿仅是上游供稿的汇总,并在构建中使用汇总供稿名称。

使用这种方法,请谨慎地删除所有非管理员用户对此饲料的访问权限,以防止将软件包直接添加到其中。

插图:




答案 1 :(得分:0)

目前,它只能为我在NuGet还原任务中选择的Feed选择一个Feed。

我为此功能创建了一个问题Enable to select multiple feeds in NuGet restore task Feed(s) I select here,您可以跟进。

现在的解决方法是使用包含您需要使用的Feed的NuGet.config文件。或者添加您需要用作端点的VSTS Feed,然后从凭据中为此帐户/集合以外的Feed选择这些Feed。

答案 2 :(得分:0)

我只是通过yml管道实现了这一目标,并花了一个小时来查看文档。所以我想在这里写一个答案,因为从那以后情况发生了很大变化。

解决方法仍然是使用NuGet.config文件。但这还不够。您还需要正确配置NuGetCommand@2DotNetCoreCLI@2,以使其使用.config文件。这是配置它的方式:

  • NuGetCommand @ 2
- task: NuGetCommand@2
  displayName: 'Restoring NuGet packages'
  inputs:
    restoreSolution: '**/*.sln'
    feedsToUse: config
    nugetConfigPath: NuGet.Config

  • DotNetCoreCLI @ 2
- task: DotNetCoreCLI@2
  displayName: Restoring NuGet packages
  inputs:
    command: restore
    projects: '**/*.csproj'
    feedsToUse: config
    nugetConfigPath: NuGet.Config # Relative to root of the repository

您特别需要feedsToUse属性具有值config。没有它,管道将不会使用您的.config文件。