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

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

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

使用诊断日志记录和/或将日志语句添加到 main.js 目录中的 agent_work_tasksDownloadBuildArtifacts_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'``` 

 `` `
stack overflow Azure DevOps: build artifact download error "Error: in getBuildApi, so retrying => retries pending : 4"
原文答案

答案:

作者头像

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

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

作者头像

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