jenkins打包部署报错 error An unexpected error occurred: "https://registry.npm.taobao.org/@antv%2fdata-set@antv%2fdata-set: certificate has expired". 之前一直是成功的,和同事合并代码后失败,同事只改了yarn.lock
18条回答 默认 最新
关注获得0.60元问题酬金 引自免费微信小程序:皆我百晓生
在Jenkins中部署时遇到的错误“certificate has expired”通常意味着NPM或Yarn在尝试从指定的registry(这里是中国淘宝NPM镜像)下载依赖包时,发现该镜像服务器提供的SSL证书已经过期。这意味着用于加密和验证连接的身份认证凭证不再有效。
当您的同事仅修改了
yarn.lock文件后,理论上这不应该直接影响到SSL证书的有效性问题。但是,如果由于某种原因,在合并代码之后触发的构建恰好碰上了 registry 的 SSL 证书更新不及时的情况,就会出现这个错误。要解决这个问题,请按照以下步骤操作:
-
临时解决方案:
- 在Jenkins环境中运行如下命令以忽略证书检查(不推荐长期使用,因为会降低安全性):
yarn config set strict-ssl false # 或者针对当前项目设置 yarn config set registry 'https://registry.npm.taobao.org/' --strict-ssl=false
- 在Jenkins环境中运行如下命令以忽略证书检查(不推荐长期使用,因为会降低安全性):
-
更新Yarn配置:
- 确保使用的Yarn版本是最新版,有时候旧版本的Yarn可能无法正确处理新证书。
- 如果是全局问题,可以考虑升级所有Jenkins节点上的Yarn至最新版本。
-
联系镜像源管理员:
- 可以向淘宝NPM镜像仓库的维护团队报告此问题,让他们检查并更新证书。
-
切换registry:
- 尝试暂时切换回官方npm registry或者等待淘宝NPM镜像仓库修复证书问题后再进行部署。
-
本地验证:
- 在开发环境中复现问题,然后尝试手动更新证书或者清除缓存来解决。
-
Jenkins脚本中添加清理缓存:
- 清除Yarn的缓存可能有助于获取新的证书信息:
yarn cache clean
- 清除Yarn的缓存可能有助于获取新的证书信息:
请确保在生产环境中谨慎处理此类安全相关的配置更改,并尽快恢复正常的安全检查机制。
评论 打赏 举报解决 2无用-