Azure管道代理代理设置未按预期工作

Azure管道代理代理设置未按预期工作,azure,powershell,azure-devops,azure-pipelines,Azure,Powershell,Azure Devops,Azure Pipelines,在Windows 2016服务器上配置本地生成代理时,我使用以下代理配置设置: .\config.cmd --proxyurl http://192.3.4.5:8080 --sslskipcertvalidation 这允许生成服务器连接到代理后面的Azure DevOps而不会出现问题,但是powershell生成无法连接到internet。我通过在build命令的开头设置一个环境变量来解决这个问题: $env:http_proxy = "192.3.4.5:8080" 最后一个问题是构

在Windows 2016服务器上配置本地生成代理时,我使用以下代理配置设置:

.\config.cmd --proxyurl http://192.3.4.5:8080 --sslskipcertvalidation
这允许生成服务器连接到代理后面的Azure DevOps而不会出现问题,但是powershell生成无法连接到internet。我通过在build命令的开头设置一个环境变量来解决这个问题:

$env:http_proxy = "192.3.4.5:8080"
最后一个问题是构建过程中的一个步骤,该步骤要求winrm直接承载到构建服务器上的VM,并且它无法连接。我已尝试将代理的.proxybypass文件配置为:

localhost
192\.3\.4\.*

然而,这并没有解决问题。关于如何在构建步骤中设置代理旁路有什么想法吗?是否可以设置其他powershell env变量?

代理设置确保代理可以调用。这些任务依赖于许多不同的技术,每种技术都使用不同的代理配置、IP掩码和白名单。因此,如果您的代理位于代理之后,您可能需要在所述机器上配置许多不同的代理设置。这是一种痛苦。即使对于像我这样的任务作者来说,他们也不能仅仅将代理配置一对一地复制到每个任务所依赖的技术中


Powershell依赖于运行任务的用户的Windows internet设置代理配置。您还可以覆盖.NET代理配置。Powershell依赖于.NET代理设置,此处列出了如何动态更改这些设置:

在powershell生成中使用.NET类:

[net.webrequest]::defaultwebproxy = new-object net.webproxy "http://$env:proxy_ip" 
然后加上

[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true

代理设置确保代理可以调出。这些任务依赖于许多不同的技术,每种技术都使用不同的代理协作、IP掩码和白名单。因此,如果您的代理位于代理之后,您可能需要在所述机器上配置许多不同的代理设置。这是一种痛苦。即使对于像我这样的任务作者来说,他们也不能只获取代理配置并将其一对一地复制到每个任务所依赖的技术。Powershell依赖于运行任务的用户的Windows internet设置代理配置。您还可以覆盖.NET代理配置Powershell依赖于.NET代理设置,此处列出了如何动态更改这些设置:上面的注释有助于解决此问题。只需要在powershell构建中使用.NET类-例如;[net.webrequest]::defaultwebproxy=新对象net.webproxy“http://$env:proxy\u ip”,然后添加[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal=$true