问题:
jenkins由docker部署,pipeline脚本之前构建一直正常,某天构建突然报错,涉及多处:
- 所有项目ssh command报错
- webpack的vue2项目npm install报错,vite的vue3项目则正常
- 插件安装报错
下图是ssh command执行报错:
解决:
ssh user@ip
测试jenkins所在宿主机远程连接目标服务器ip正常restart
重启jenkins容器所有恢复正常问题:
本地开发没用淘宝镜像从来没有问题,jenkins的pipeline流水线经常出问题:
每次都是各种方法乱试一通,这次梳理一下
解决:
使用的是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')
}
个人经验:
https://registry.npmmirror.com
和https://npm.taobao.org
应该都可以sass_binary_site
npm install
时间较长(偶尔能达到半小时以上),构建成功之后后续构建会变快很多rm -rf node_modules/
,重新构建。试成功过,但过段时间再部署,又出现上一步问题,重新构建多次,时好时坏,无法捉摸;并且该方法删除了所有依赖,会导致npm install
时间非常非常长rm -rf node_modules/
注释,之后若再出现问题只移除node-sass依赖npm uninstall node-sass
rm -rf node_modules/
或npm uninstall node-sass
,短期内一般不会再卡死或报错某项目通过上述步骤解决问题,追踪后续记录(下述时间为
npm install
加npm run build
阶段时间):
第一次构建成功时34分39秒;
当天内再次构建5分27秒;
一周之后,构建又卡死在依赖安装,重新构建后成功,3分50秒;
一天后构建成功,约4分7秒。