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

相关推荐
冬奇Lab1 分钟前
【Cursor进阶实战·01】Figma设计稿一键还原:Cursor + MCP让前端开发提速10倍
android·前端·后端·个人开发·figma
HIT_Weston1 分钟前
78、【Ubuntu】【Hugo】搭建私人博客:文章分类
linux·运维·ubuntu
石小千4 分钟前
配置Jenkins使用tag发布
jenkins
JarvanMo4 分钟前
用 Flutter、SwiftUI 和 Compose 写同一个界面:一份真实开发者的实测报告
前端
可以吧可以吧5 分钟前
前端vue jenkins打包资源增加阿里云oss+cdn加速
前端·vue.js·jenkins
卓豪终端管理5 分钟前
从安全配置开始,构建主动防御体系
运维·网络·安全
Allen_LVyingbo7 分钟前
NVIDIA AI Enterprise (NVAIE) 运维实战:面向医疗行业的深度培训路径分析
运维·人工智能·知识图谱·健康医疗
刃神太酷啦8 分钟前
Linux 底层核心精讲:环境变量、命令行参数与程序地址空间全解析----《Hello Linux!》(7)
linux·运维·服务器·c语言·c++·chrome·算法
hashiqimiya11 分钟前
vue项目的选择星级样式和axios依赖调用
前端·javascript·vue.js
杜子不疼.12 分钟前
Linux + 容器技术:Docker 基础到实战,快速搭建轻量隔离环境
linux·运维·docker