Azure DevOps:构建工件下载错误“错误:在 getBuildApi 中,因此重试 => 重试挂起:4”

Tho*_*ter 2 certificate azure-devops-server-2019

在 devops server 2019 或 devops server 2020 的发布管道中使用任务“下载构建工件”时出现此错误:

Error: in getBuildApi, so retrying => retries pending : 4

使用诊断日志和/或main.jsagent\_work\_tasks\DownloadBuildArtifacts_a433f589-fce1-4460-9ee6-44a624aeb1fb目录中添加日志语句时可以找到详细的错误:

Failed in getBuildApi with error: Error: unable to get local issuer certificate

    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1092:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:609:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:439:38) code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY'``` 
Run Code Online (Sandbox Code Playgroud)

Tho*_*ter 6

问题是我们在 devops 服务器上使用的证书不受节点信任。我认为这与根证书有关,因为使用 chrome 浏览我们的 devops 服务器在构建代理上没有问题。(证书有效。)

要解决此问题,请设置以下环境系统变量并重新启动代理服务 NODE_TLS_REJECT_UNAUTHORIZED=0


小智 5

这是一个老问题,但另一个选择是将证书链下载到计算机上并将环境变量 NODE_EXTRA_CA_CERTS 设置为“/path/to/cert/file”。