ximeng188 2024-01-28 17:03 采纳率: 25%
浏览 111
已结题

jenkins部署报错

jenkins打包部署报错 error An unexpected error occurred: "https://registry.npm.taobao.org/@antv%2fdata-set@antv%2fdata-set: certificate has expired". 之前一直是成功的,和同事合并代码后失败,同事只改了yarn.lock

  • 写回答

18条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-01-28 17:04
    关注
    获得0.60元问题酬金

    引自免费微信小程序:皆我百晓生

    在Jenkins中部署时遇到的错误“certificate has expired”通常意味着NPM或Yarn在尝试从指定的registry(这里是中国淘宝NPM镜像)下载依赖包时,发现该镜像服务器提供的SSL证书已经过期。这意味着用于加密和验证连接的身份认证凭证不再有效。

    当您的同事仅修改了yarn.lock文件后,理论上这不应该直接影响到SSL证书的有效性问题。但是,如果由于某种原因,在合并代码之后触发的构建恰好碰上了 registry 的 SSL 证书更新不及时的情况,就会出现这个错误。

    要解决这个问题,请按照以下步骤操作:

    1. 临时解决方案

      • 在Jenkins环境中运行如下命令以忽略证书检查(不推荐长期使用,因为会降低安全性):
        yarn config set strict-ssl false
        # 或者针对当前项目设置
        yarn config set registry 'https://registry.npm.taobao.org/' --strict-ssl=false
        
    2. 更新Yarn配置

      • 确保使用的Yarn版本是最新版,有时候旧版本的Yarn可能无法正确处理新证书。
      • 如果是全局问题,可以考虑升级所有Jenkins节点上的Yarn至最新版本。
    3. 联系镜像源管理员

      • 可以向淘宝NPM镜像仓库的维护团队报告此问题,让他们检查并更新证书。
    4. 切换registry

      • 尝试暂时切换回官方npm registry或者等待淘宝NPM镜像仓库修复证书问题后再进行部署。
    5. 本地验证

      • 在开发环境中复现问题,然后尝试手动更新证书或者清除缓存来解决。
    6. Jenkins脚本中添加清理缓存

      • 清除Yarn的缓存可能有助于获取新的证书信息:
        yarn cache clean
        

    请确保在生产环境中谨慎处理此类安全相关的配置更改,并尽快恢复正常的安全检查机制。

    评论

报告相同问题?

问题事件

  • 系统已结题 2月5日
  • 创建了问题 1月28日