Azure DevOps 自托管代理无法从 Azure Artifacts 下载工件

Azure DevOps self-hosted agent is not able to download artifact from Azure Artifacts

Azure DevOps Server 2020,在不同的服务器上具有自托管代理

我有一个构建,它正在 Azure Artifacts 中创建一个工件,然后触发了一个发布管道,它应该下载这个工件并用它做一些事情。以前,构建的输出位于文件共享上,并且按预期工作。当我切换到 Azure Artifacts - 下载工件任务(由 Azure DevOps 自动添加)失败并显示以下内容:

所有其他构建任务都可以在此服务器上正常运行,并且此发布管道在其他服务器上也可以正常运行。由于我没有看到任何有意义的错误消息,我该如何开始解决此问题?

根据您的屏幕截图,我可以在 Azure Devops Server 中重现类似问题。

但是在任务中,我看到了错误信息:

Failed in getBuildApi with error: Error: self signed certificate.

如果您遇到同样的问题,可以尝试以下方法:

1.You 可以使用 self signed certificate.

重新配置代理
.\config.cmd --sslcacert ca.pem  xxxx

这里是a ticket详细步骤,大家可以参考一下

2.You 可以检查您是否设置了防火墙。防火墙可以阻止工件的下载

3.You可以设置系统环境:NODE_TLS_REJECT_UNAUTHORIZED=0并重启代理服务

我们在使用自托管代理时遇到了类似的问题,但存在细微差别 - 我们的代理部署在 vnet 中。

如果是这种情况,请确保在 vnet 的子网中启用了 Microsoft.Storage 服务端点。

希望这会节省很多人的时间。