繁体   English   中英

Azure Pipelines 代理代理设置未按预期工作

[英]Azure Pipelines agent proxy settings not working as expected

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

.\config.cmd --proxyurl http://192.3.4.5:8080 --sslskipcertvalidation

这允许构建服务器毫无问题地连接到代理后面的 Azure DevOps,但是 powershell 构建在连接到 Internet 时遇到问题。 我通过在构建命令的开头设置一个环境变量来解决这个问题:

$env:http_proxy = "192.3.4.5:8080"

最后一个问题是构建中的一个步骤需要 winrm 到直接托管在构建服务器上的 VM,但它无法连接。 我试过这样配置代理的 .proxybypass 文件:

localhost
192\.3\.4\.*

然而这并没有解决问题。 关于如何在构建步骤中设置代理绕过的任何想法? 我可以设置另一个powershell env变量吗?

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

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

在 powershell 构建中使用 .NET 类:

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

然后添加

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM