【devops】【jenkins】采坑合集

文章讲述了开发者遇到的Git克隆和SSH连接问题,包括RPC失败、仓库过大、sshcommand错误,以及Jenkins中npminstall和node-sass安装的难题。提供了两种解决方法,如使用--depth限制克隆深度和针对node-sass的特定配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git项目过大问题:Error cloning remote repo 'origin’RPC failed;

问题:

ERROR: Error cloning remote repo 'origin'RPC failed; 
HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out

解决:

法一:加 - - depth = 1只克隆最新
法二:之前不小心把依赖库都上传了导致该git仓库太大,git删除重建project并上传代码

ssh command报错: com.jcraft.jsch.JSchException

问题:

jenkins由docker部署,pipeline脚本之前构建一直正常,某天构建突然报错,涉及多处:

  1. 所有项目ssh command报错
  2. webpack的vue2项目npm install报错,vite的vue3项目则正常
  3. 插件安装报错

下图是ssh command执行报错:
在这里插入图片描述

解决:

  1. 排查ssh服务器:ssh user@ip测试jenkins所在宿主机远程连接目标服务器ip正常
  2. 排查凭证配置:账密设置无误
  3. 进入jenkins容器内部测试:ping不通目标ip
  4. 最终通过restart重启jenkins容器所有恢复正常

npm install时node-sass问题

问题:
本地开发没用淘宝镜像从来没有问题,jenkins的pipeline流水线经常出问题:

  1. npm install 卡在node-sass的安装不动
  2. npm install 报错
  3. npm run build 报错

每次都是各种方法乱试一通,这次梳理一下

解决:
使用的是node容器,最新测试成功的代码如下:

def dockerRuntime(command) {
    def dockerImage = docker.image('node:10.13.0-alpine')
    dockerArgs = '-i '+'-v /data/jenkins/.cache/yarn:/root/.cache/yarn '+'-v /data/jenkins/workspace/${JOB_NAME}:/code -w /code'
    dockerImage.inside("${dockerArgs}") {
        // sh "rm -rf node_modules/"
        sh "npm config set registry https://registry.npmmirror.com && npm config set sass_binary_site https://npmmirror.com/mirrors/node-sass"
        // sh "npm uninstall node-sass"
        sh "npm install node-sass"
        sh "npm install"
        sh "${command}"
    }
}

stage('Package Install') {
    dockerRuntime('npm run build')
}

个人经验:

  1. npm必须设置淘宝镜像,不设置依赖安装会失败,https://registry.npmmirror.comhttps://npm.taobao.org应该都可以
  2. node-sass必须单独设置sass_binary_site
  3. 一般情况,上述两步即可解决;第一遍构建时npm install时间较长(偶尔能达到半小时以上),构建成功之后后续构建会变快很多
  4. 很久之后需要更新代码部署,突然会卡在node-sass安装的某一步卡死,重新构建继续卡或者报错
  5. 方法一:rm -rf node_modules/,重新构建。试成功过,但过段时间再部署,又出现上一步问题,重新构建多次,时好时坏,无法捉摸;并且该方法删除了所有依赖,会导致npm install时间非常非常长
  6. 方法二:先通过上一步构建成功一次,然后将rm -rf node_modules/注释,之后若再出现问题只移除node-sass依赖npm uninstall node-sass
  7. 构建成功后,注意注释掉rm -rf node_modules/npm uninstall node-sass,短期内一般不会再卡死或报错

某项目通过上述步骤解决问题,追踪后续记录(下述时间为npm installnpm run build阶段时间):
第一次构建成功时34分39秒;
当天内再次构建5分27秒;
一周之后,构建又卡死在依赖安装,重新构建后成功,3分50秒;
一天后构建成功,约4分7秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值