如何处理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也支持清理工作空间,可以打包前,手动清理一下工作空间

相关推荐
高级测试工程师欧阳几秒前
CSS 基础概念
前端·css·css3
前端小巷子1 分钟前
JS 实现图片瀑布流布局
前端·javascript·面试
Juchecar8 分钟前
AI教你常识之 npm / pnpm / package.json
前端
小阳睡不醒8 分钟前
小白成长之路-jenkins使用pipline部署
运维·jenkins
薛定谔的猫215 分钟前
前端工程化系列(一):编码规范相关
前端·代码规范·前端工程化
ZKshun18 分钟前
[ 前端性能优化 - 图片压缩 ] WebP格式的的图片性能到底有多优秀?
前端
杜蒙21 分钟前
React Hooks 详解
前端·javascript
南囝coding21 分钟前
Claude Code 从入门到精通:最全配置指南和工具推荐
前端·后端
索马里亚纳海参炒贩22 分钟前
useCallback useMemo memo 三个区别和作用
前端·react native
非ban必选34 分钟前
netty-scoket.io路径配置
java·服务器·前端