You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps的JFrog Platform V2扩展遇自签名证书链错误求助

解决Azure DevOps流水线集成JFrog NuGet时的自签名证书链错误

针对你遇到的内部CA自签名证书导致的流水线失败问题,以下是可行的配置方案:

1. 将内部CA证书导入构建代理的系统信任存储

NuGet和JFrog CLI会优先依赖系统级的根证书信任链,这是最可靠的解决方式:

  • Windows代理:
    打开管理员权限的命令提示符,执行:
    certutil -addstore -f "Root" "C:\绝对路径\你的CA证书.crt"
    
    也可通过图形化证书管理器,将证书导入到「本地计算机」→「受信任的根证书颁发机构」存储。
  • Linux代理:
    将CA证书复制到系统证书目录后更新信任链:
    sudo cp /path/to/your/CA.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  • macOS代理:
    用系统钥匙串命令导入根证书:
    sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/your/CA.crt
    

2. 针对JFrog CLI单独配置信任证书

如果系统级导入仍未生效,可以直接指定JFrog CLI的证书路径:

  • 先定位代理上JFrog CLI的实际安装路径,通常为$(Agent.ToolsDirectory)/jfrog/<具体版本号>/目录。
  • 在该目录内创建security/certs文件夹,将完整的PEM/CRT证书链文件放入(需包含根CA和中间证书)。
  • 或在流水线中添加前置任务,设置环境变量指定证书路径:
    • Windows(PowerShell任务):
      $env:JFROG_CLI_TRUSTED_CERTS_PATH = "$(Agent.WorkFolder)\certs"
      
    • Linux/macOS(Bash任务):
      export JFROG_CLI_TRUSTED_CERTS_PATH="$(Agent.WorkFolder)/certs"
      
      需提前将证书文件上传到流水线工作目录(比如通过Git仓库或文件下载任务)。

3. 验证证书配置有效性

在构建代理机器上手动执行JFrog CLI命令测试连接,确认证书生效:

jf rt ping https://你的JFrog仓库地址

若命令返回成功,再重新运行流水线。同时可转换证书格式确保兼容性:

openssl x509 -in cert.crt -out cert.pem -outform PEM

注意事项

  • 确保构建代理服务账号拥有证书文件夹的读取权限。
  • 若使用Azure托管代理,无法修改系统证书存储,只能通过JFROG_CLI_TRUSTED_CERTS_PATH环境变量指定证书路径。

内容的提问来源于stack exchange,提问作者Brettski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 16:43:24