Jenkins中构建vue项目过程中vite进程被终止(kill),导致vue项目构建失败

jenkins的部分构建日志如下:

lua 复制代码
[33mThe CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.[39m
16:37:44  [36mvite v5.0.5 [32mbuilding for production...[36m[39m
16:37:45  transforming...
16:38:41  [32m✓[39m 4233 modules transformed.
16:38:42  rendering chunks...
16:39:13  Killed
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 137
Finished: FAILURE

根据报错信息,似乎是在构建生产环境时 Vite 进程被终止了(Killed)。这通常是由于内存耗尽或者进程被系统强制终止导致的。

你可以尝试以下几种方法来解决这个问题:

  1. 增加内存: 如果是内存耗尽导致的问题,你可以尝试增加构建过程中可用的内存。你可以通过调整构建过程的内存限制来解决。例如,在执行构建命令时添加 --max-old-space-size 参数并指定一个较大的值,比如 --max-old-space-size=4096,表示将 Node.js 的内存限制设置为 4GB。

  2. 优化配置和代码: 确保你的项目配置和代码都进行了优化,以减少构建过程中的资源消耗。例如,可以考虑删除未使用的代码、减少不必要的依赖项、优化打包输出等。

  3. 查看系统资源使用情况: 检查系统资源使用情况,确认是否有其他程序正在占用大量内存,导致构建过程中内存不足。

解决方法:

这里我主要采用第一种增加内存的方式

  1. 命令行构建
    如果你是在命令行中直接使用 Node.js 来执行构建命令,你可以通过设置环境变量来增加内存。例如,在 Linux 或 macOS 系统上,可以使用以下命令:
lua 复制代码
export NODE_OPTIONS="--max-old-space-size=4096"
  1. 使用 npm 或 Yarn:
    如果你是通过 npm 或 Yarn 来运行构建命令,你可以直接在命令行中添加参数来设置内存限制。例如:
lua 复制代码
npm run build --max-old-space-size=4096

或者:

lua 复制代码
yarn build --max-old-space-size=4096

这样会将 Node.js 进程的内存限制设置为 4GB,然后执行构建命令。

  1. 使用jenkins构建

要在 Jenkins Pipeline 中增加 Node.js 的内存限制,你可以通过设置环境变量 NODE_OPTIONS 来实现。

lua 复制代码
environment {
        // 设置 NODE_OPTIONS 环境变量来增加 Node.js 的内存限制
        NODE_OPTIONS = "--max-old-space-size=4096"
    }
相关推荐
谢白羽6 分钟前
从传统运维到 AI Infra: K8s 上调度 100 张 GPU踩坑笔记
运维·人工智能·缓存·kubernetes·vllm·sglang·vllm-omni
ai_coder_ai29 分钟前
使用Web IDE边写自动化脚本
运维·前端·自动化
wacsii30 分钟前
【Linux基础开发工具(五)】Git版本控制器从入门到实战:核心操作三板斧与新手避坑指南
linux·运维·服务器
zhongben123_41 分钟前
从零开发一个打车APP:技术选型、系统架构与成本评估指南
大数据·运维·ios·系统架构·uni-app·web app
FII工业富联科技服务1 小时前
服务器开始按柜交付 数据中心需要具备怎样的承接能力
大数据·运维·服务器·人工智能·自动化·制造
李迟1 小时前
Nginx容器绑定81端口报拒绝访问错误的解决
运维·nginx
嵌入式@hxydj1 小时前
WorkBuddy中调用本地ComfyUi工作流免费生图
运维·服务器
杨云龙UP1 小时前
生产实战:Keepalived + Nginx + MySQL 双向复制高可用架构部署与原理详解
运维·数据库·mysql·nginx·架构·keepalived·高可用架构
迪康Defender1 小时前
PHP 高危漏洞应急分析:从风险原理到端点侧纵深防护
运维·开发语言·安全·自动化·php·运维开发·远程工作
技术小事2 小时前
Surface 装 Ubuntu 双系统
linux·运维·ubuntu