如何处理Jenkins打包npm install没有拉取到最新依赖的问题

问题背景:

我们项目中有私有依赖包 frame,是私有服务器上通过 npm 去管理。frame包 publish 之后,通过Jenkins打包时,npm install 一直没有拉取最新的代码。

思考:通过在本地直接替换 node_modules 里的 frame 包,npm run build 再部署是没有问题的。那么可能就是Jenkins打包的时候,有缓存导致的。

查看原有的Jenkins构建命令如下:

bash 复制代码
cd web/
npm cache clean --force
npm config set registry https://registry.npmmirror.com
npm i
npm run build

修改之后如下:

bash 复制代码
cd web/
directory="node_modules"
if [ -d "$directory" ]; then
    rm -r "$directory"
    echo "Directory $directory deleted"
else
    echo "Directory $directory does not exist"
fi
npm cache clean --force
npm config set registry https://registry.npmmirror.com
npm i
npm run build

主要是添加判断,如果Jenkins前端项目的工作空间中存在 node_modules 文件夹,则把node_modules 文件夹及其子文件夹都删除。然后在重新 npm install。

修改后,可以拉取到最新代码的依赖包。问题解决。

Jenkins也支持清理工作空间,可以打包前,手动清理一下工作空间

相关推荐
W_kiven19 分钟前
Centos安装Dockers+Postgresql13+Postgis3.1
linux·运维·docker·postgresql·centos
思扬09283 小时前
Docker多阶段构建深度优化指南:从GB到MB的镜像瘦身革命
运维·docker·容器
来自星星的坤4 小时前
Vue 3中如何封装API请求:提升开发效率的最佳实践
前端·javascript·vue.js
大刘讲IT4 小时前
数据治理体系的“三驾马车”:质量、安全与价值挖掘
大数据·运维·经验分享·学习·安全·制造·零售
名字越长技术越强4 小时前
Node.js学习
学习·node.js
vvilkim5 小时前
全面解析React内存泄漏:原因、解决方案与最佳实践
前端·javascript·react.js
vvilkim5 小时前
React批处理(Batching)更新机制深度解析
前端·javascript·react.js
Bayi·5 小时前
前端面试场景题
开发语言·前端·javascript
szxinmai主板定制专家6 小时前
国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
大数据·运维·网络·人工智能·fpga开发·机器人
xixingzhe26 小时前
docker转移镜像
运维·docker·容器