VSTS和内部NuGet提要

时间:2018-02-26 20:18:29

标签: nuget azure-devops

我们在VSTS中托管了一个项目,该项目使用我们在防火墙后面的私有NuGet供稿中托管的NuGet包。

使用网络访问提要很好,我们可以在本地恢复依赖关系并构建项目。

配置VSTS构建时,我们选择了与NuGet源在同一网络中的PC上安装的私有构建代理。我们再次测试了在该PC上手动恢复和构建。

在VSTS构建定义任务中的NuGet提要位置,我们输入了用于从私有NuGet提要恢复的地址,我们假设代理和私有NuGet提要在网络内部和代理&# 39; PC可以访问Feed然后访问VSTS,那么就没有问题了,但事实并非如此。构建无法恢复包,错误表示"无法找到提要"。

私有VSTS构建代理可以使用自定义NuGet提要吗?

2 个答案:

答案 0 :(得分:1)

他们可以,但您可能需要在构建服务器上配置您的nuget Feed所在的位置。

我们在我们定义的用户下运行私有构建代理。我们称他为user1。

如果你去c:\ users \ user1 \ appdata \ roaming \ nuget,应该有一个NuGet.Config。

应该看起来很像这样。我们已停止构建服务器查找Microsoft Feed。我们只希望他们运行我们拥有的企业Feed。您可以从本地计算机上窃取一个或使用构建计算机上的Visual Studio保存它。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <packageSources>
    <add key="Your Repository Key" value="http://[your package location]/packages.svc" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
  <disabledPackageSources>
    <add key="nuget.org" value="true" />
    <add key="Microsoft and .NET" value="true" />
  </disabledPackageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

答案 1 :(得分:1)

是的,如果代理机器有权访问,私人代理可以访问您的nuget供稿。

由于您已经验证了从本地计算机到私有源的连接,因此您可以检查VSTS构建对NuGet还原任务的定义:

在NuGet还原任务中,您应该选择我的NuGet.config中的Feed 以供使用Feed选项。

对于 NuGet.config路径选项,如果您使用%AppData%\NuGet\NuGet.Config中的nuget.config文件,则可以将该选项留空,它使用nuget.config文件默认。如果您使用的nuget.config文件不在路径中,则应指定nuget.config文件所在的路径。

对于此帐户/集合以外的Feed的凭据选项,请选择您的私人订阅源以下载软件包。

如果您尚未在VSTS中为私人订阅源添加端点,则可以单击“新建”为您的私人订阅源添加凭据。

enter image description here

enter image description here