Azure管道如何从内部TFS和外部Git获取源?如何更新代理?

问题描述

我正在设置Azure管道,很少有人从GitHub获取资源,并尝试设置管道以访问Intranet上的TFS,我使用此Other Git URL创建了类型为“ Azure Repos / Team Foundation Server”的服务连接:https://tfs.myCie.com/defaultcollection/MyProject/_versionControl

当我运行管道时,需要花费一些时间,然后显示504超时错误,但管道仍处于挂起状态。一段时间后,在步骤“ 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文件来设置代理,并且应该启用内部网和Internet通话,但是我看不到如何更新自托管Windows代理的代理设置。

我可以指定一个文件吗?可以有一个Internet配置,另一个是Intranet配置吗?

解决方法

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

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

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

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

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

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

    enter image description here

  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"

有关详细信息,请参阅此blog

这里是您可以参考的官方document