首页 > 解决方案 > Azure 管道如何从内部 TFS 和外部 Git 获取源?如何更新代理?

问题描述

我正在设置 Azure Pipelines,我很少从 GitHub 获取资源并尝试设置管道以到达 Intranet 上的 TFS,我使用以下其他 Git URL 创建了一个类型为“Azure Repos/Team Foundation Server”的服务连接:https://tfs.myCie.com/defaultcollection/MyProject/_versionControl

当我运行管道时,它需要一些时间然后显示 504 Timeout 错误,但管道仍处于挂起状态。过了一会儿,它在步骤“<code>Checkout repository@master to s”中出现此消息错误:

git -c http.proxy="http://myProxy.myCie.com:80" fetch --force --tags --prune --progress --no-recurse-submodules origin
fatal: unable to access 'https://tfs. myCie.com/defaultcollection/myProject/_versionControl/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to tfs.oecd.org:443 
##[warning] Git fetch failed with exit code 128, back off 3.667 seconds before retry.

安全团队说我应该使用 PAC 文件来设置代理,并且应该启用 Intranet 和 Internet 呼叫,但我看不到如何更新我的自托管 Windows 代理的代理设置。

我可以指定一个文件吗?是否可以有一个用于 Internet 的配置和另一个用于 Intranet 的配置?

标签: azuretfsazure-devopsazure-pipelinespac

解决方案


我看不到如何更新自托管 Windows 代理的代理设置。我可以指定一个文件吗?

对于代理,您需要在代理的根目录中使用代理 URL 创建一个 .proxy 文件。

  1. 找到构建代理的根目录(这是包含 run.exe 和 _work 文件夹的文件夹)。

  2. 在此位置打开命令提示符。

  3. 键入此命令,但替换PROXYIP & PORT为您的值:

    echo http://PROXYIP:PORT > .proxy
    
  4. 检查您的 .proxy 文件是否在正确的位置创建:

    在此处输入图像描述

  5. 可选:如果您的代理需要身份验证,则必须设置以下环境变量:

    set VSTS_HTTP_PROXY_USERNAME=user
    set VSTS_HTTP_PROXY_PASSWORD=password
    
  6. 重新启动构建代理的服务。

当您在安装时知道需要代理时,您可以在调用 config.cmd 时直接配置代理设置:

./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "user" --proxypassword "password"

有关详细信息,请参阅此博客

这是你可以参考的官方文档。


推荐阅读