我们在VSTS中托管了一个项目,该项目使用我们在防火墙后面的私有NuGet供稿中托管的NuGet包。
使用网络访问提要很好,我们可以在本地恢复依赖关系并构建项目。
配置VSTS构建时,我们选择了与NuGet源在同一网络中的PC上安装的私有构建代理。我们再次测试了在该PC上手动恢复和构建。
在VSTS构建定义任务中的NuGet提要位置,我们输入了用于从私有NuGet提要恢复的地址,我们假设代理和私有NuGet提要在网络内部和代理&# 39; PC可以访问Feed然后访问VSTS,那么就没有问题了,但事实并非如此。构建无法恢复包,错误表示"无法找到提要"。
私有VSTS构建代理可以使用自定义NuGet提要吗?
答案 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中为私人订阅源添加端点,则可以单击“新建”为您的私人订阅源添加凭据。