几天前,我们的几个 Azure 发布管道开始出现故障。
管道部署到我们客户的自托管机器上——测试和生产环境;两条管道都不再工作了。我们没有改变任何管道,客户说他们的基础设施没有任何改变(对此持保留态度,因为我们有一堆自己的自托管机器,部署仍在进行中)。
部署组作业尝试下载工件时发生错误。这就是日志输出的样子:
2024-04-24T01:28:35.4107721Z 错误:在 getBuildApi 中,因此重试 => 待重试:4
2024-04-24T01:29:20.5325958Z 错误:在 getBuildApi 中,因此重试 => 待重试:3
2024-04-24T01:31:35.6424623Z 错误:在 getBuildApi 中,因此重试 => 待重试:2
2024-04-24T01:37:35.7312572Z 错误:在 getBuildApi 中,因此重试 => 待重试:1
2024-04-24T01:43:35.9335199Z ##[错误]getBuildApi 失败 错误:错误:无法验证第一个证书 TLSSocket.onConnectSecure(节点:_tls_wrap:1674:34)位于 TLSSocket.emit (节点:事件:518:28)在 TLSSocket._finishInit (节点:_tls_wrap:1085:8) 在 ssl.onhandshakedone (节点:_tls_wrap:871:12) { 代码: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' }
2024-04-24T01:43:36.0200040Z ##[错误]错误:无法验证 第一张证书
到目前为止我们已经尝试过:
关于如何解决这个问题或进一步缩小问题范围有什么想法吗?我们有点困惑为什么我们突然得到一个糟糕的证书。
[错误]错误:无法验证第一个证书
该错误通常是由于证书不受节点信任、证书可能已过期或不受任何证书颁发机构信任而引起。
由于之前有效,请:
如果您使用本地 DevOps 服务器,请将代理计算机放入具有 DevOps 服务器的
same domain
中,然后重新启动代理。
请重新配置代理,并将证书添加到代理配置中。
步骤如下:
a.将根 CA 的证书导出为
PEM format
证书(在 Windows 上,这是导出证书时的“Base-64 编码 X.506 (.CER)”选项)
b. 配置构建代理:
C:\agent> .\config.cmd --sslcacert <caCertsPath>
这个“caCertsPath”是导出证书的路径。