代码之家  ›  专栏  ›  技术社区  ›  ssloan

在VST中运行nuget任务,无需代理设置

  •  4
  • ssloan  · 技术社区  · 8 年前

    VSTS NuGet restore fails (proxy?)

    我们有一台在prem上运行VSTS代理进行构建的机器。该机器设置了http_代理变量,因此代理进程可以与云中的VST对话。

    然后,我尝试使用内置的nuget任务来执行nuget恢复,但我想要访问的提要位于on-prem artifactory实例上。要访问此提要,nuget不需要使用代理所做的代理设置(我们在Internet选项中选中了“绕过本地地址代理”选项)。

    2017-10-17T14:02:14.4961204Z ##[debug]agent.proxyurl=http://X.X.X.X:8080
    2017-10-17T14:02:14.4961204Z ##[debug]agent.proxyusername=undefined
    2017-10-17T14:02:14.6992455Z ##[debug]agent.proxypassword=undefined
    2017-10-17T14:02:14.7773706Z ##[debug]Adding environment variable for NuGet proxy: http://X.X.X.X:8080/
    2017-10-17T14:02:14.7773706Z ##[debug]exec tool: C:\vsts-agent\_work\_tool\NuGet\4.0.0\x64\nuget.exe
    

    (2组X.X.X.X在实际日志中是相同的)

    我试着将过程变量设置为 http_proxy="" <add key="http_proxy" value="" /> ,但这没有什么区别。

    有没有一种方法可以在不使用代理的情况下运行nuget任务?

    如果我只是在VSTS中从命令行任务手动运行nuget,那么一切都会正常工作。

    1 回复  |  直到 8 年前
        1
  •  3
  •   jessehouwing    8 年前

    VSTS代理应该能够从 .proxybypass 文件:

    echo http://local.nuget.server >> .proxybypass
    

    enter image description here

    我不确定Nuget任务是否会处理这个问题( it looks like it doesn't yet ),但至少你可以这样告诉代理忽略某些主机。这是在最近的代理版本中添加的, so you may need to upgrade your agent .

    我猜如果你用我的 VSTS Set Variable Task 临时设置的值 agent.proxyurl

    附言 the new configuration no longer uses the environment variable to set the proxy ,新的默认设置是将其放入 .proxy 文件也在代理根目录中。

    推荐文章