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

14

我正处于设置VSTS构建定义的过程中。这个构建定义很简单,步骤如下:

  1. 从VSTS Git仓库的主分支获取源代码
  2. 还原NuGet包
  3. 运行MsBuild

第二步的设置如下图所示:

图片描述

当我使用“Feed(s)I select here”时,它只允许我选择一个Feed。这是一个错误吗?或者唯一的使用多个Feeds的方法是通过Nuget.config?

4个回答

8
作为另一种解决方法,可以选择创建一个仅汇总上游源的“下游”源,并在构建中使用该汇总源名称。
使用这种方法时,为了防止直接向其添加软件包,最好将任何非管理员用户从访问此源中移除。
插图:





6

我刚在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文件。

4
根据文档,你有两个选择:
  • 使用NuGet.org和/或与构建在同一帐户/集合中的一个软件包管理 feed(这是您在示例中选择的选项)。

或者

  • 使用存储在源代码控制中的NuGet.config文件指定的feeds(如果您将单选按钮切换到“我NuGet.config中的Feeds”)。

1

目前,NuGet还只能在Feed(s) I select here选项中选择一个源。

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

目前的解决方法是使用包含所需源的NuGet.config文件。或者将需要使用的VSTS源添加为终结点,然后从Credentials for feeds outside this account/collection选项中选择这些源。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接