将内部NuGet服务器添加到TFS构建服务器?

时间:2017-12-14 18:14:58

标签: tfs nuget tfsbuild nuget-package-restore tfs2017

我们有一个私有的NuGet服务器,我的问题是TFS 2017版本无法识别内部软件包的NuGet服务器,显然,没有指定URL。我已经尝试将它放在Nuget.config中并且它有效但有一些问题。

然而,我想以某种方式将其添加到全局供稿列表中。我没有在服务器上安装NuGet,虽然NuGet恢复正在作为构建任务发生,因此它存在于c:_work_tasks \ NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b \ 0.2.21 \ etc下,并且看不到任何内容我会让我改变一组饲料。

BTW,当我向nuget.config添加一个包源时,似乎只能从该源下载并忽略所有默认值,例如nuget.org等。

如何添加内部nuget服务器以便我的所有构建本地都可以访问它?感谢。

2 个答案:

答案 0 :(得分:2)

通常,您只需要将Feed(也添加nuget.org来源)添加到NuGet.config文件,然后签入该文件。

(如果您使用了第三个私有NuGet服务器,那么您可以尝试使用Package Management in VSTS and TFS

e.g。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- remove any machine-wide sources with <clear/> -->
    <clear />
    <!-- add a VSTS feed -->
    <add key="MyGreatFeed" value="https://fabrikam.pkgs.visualstudio.com/DefaultCollection/_packaging/MyGreatFeed/nuget/v3/index.json" />
    <!-- also get packages from the NuGet Gallery -->
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>
  

对于这个问题:“它似乎只能从该源下载并忽略所有默认值,例如nuget.org等。”

确保您已正确设置NuGet.config文件,但不排除nuget.org来源。

要在Build 中恢复NuGet包,您可以按照以下文章中提到的步骤进行操作:

Restore Package Management NuGet packages in Team Build

  
      
  • 如果您已签入NuGet.config,请选择我的NuGet.config中的Feed> ,然后从您的仓库中选择该文件。
  •   
  • 如果您使用的是单个VSTS / TFS Feed,请选择我在此处选择的Feed 选项,然后从下拉列表中选择您的Feed。
  •   

答案 1 :(得分:0)

有点过时了,但我还研究了本地TFS中有关如何集成其他本地nuget提要的解决方案。

  1. 导航到设置并选择“服务”

您现在应该看到端点列表

  1. 单击“ +添加新服务端点”,然后从下拉列表中选择“ NuGet”

将打开一个对话框,您可以在其中输入本地NuGet服务器的信息

  1. 保存端点后,现在您应该可以在构建中选择NuGet-Endpoint,在添加NuGet-Restore构建步骤(在版本2. *中)和..

  2. 在构建步骤中,在“要使用的数据*”下选择“我的NuGet.config中的数据” 现在应显示一个下拉列表,以选择“此帐户/收藏集之外的feed的凭据”。在此下拉列表中,您可以选择NuGet-Endpoint。