如何检测为构建代理配置了代理?

How can I detect proxy was configured for build agent?

我有一个简单的 powershell 任务,它读取工件并使用 Set-AzStorageBlobContent 上传 blob。

为了检测代理,我正在使用具有代理 url 值的管道变量,如下所示(这是内联 PowerShell 脚本)

if (-not [string]::IsNullOrEmpty("$(proxyUrl)"))
{
[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy $(proxyUrl);
Write-Host "proxy " $(proxyUrl);
}

如果设置了 proxyUrl 参数值,它会初始化全局 DefaultWebProxy

不过我已经configured a build agent成为运行--proxyurl参数了。

./config.cmd --proxyurl http://localhost:8080

我想删除 proxyUrl 管道变量并从构建代理配置中获取代理。我不想使用全局环境变量 (set http_proxy),因为它需要设置代理名称两次(对于代理和环境变量)。

我希望能够更改代理池(例如在托管和私有之间)并且不修改管道代理变量名称。

是否可以通过代理执行的 PowerShell 任务检查构建代理是否配置了代理?

我找到了 AGENT_PROXYURL 环境变量(检查 gci env: powershell 命令输出)