赞
踩
jenkins的部分构建日志如下:
[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)。这通常是由于内存耗尽或者进程被系统强制终止导致的。
你可以尝试以下几种方法来解决这个问题:
增加内存: 如果是内存耗尽导致的问题,你可以尝试增加构建过程中可用的内存。你可以通过调整构建过程的内存限制来解决。例如,在执行构建命令时添加 --max-old-space-size 参数并指定一个较大的值,比如 --max-old-space-size=4096,表示将 Node.js 的内存限制设置为 4GB。
优化配置和代码: 确保你的项目配置和代码都进行了优化,以减少构建过程中的资源消耗。例如,可以考虑删除未使用的代码、减少不必要的依赖项、优化打包输出等。
查看系统资源使用情况: 检查系统资源使用情况,确认是否有其他程序正在占用大量内存,导致构建过程中内存不足。
这里我主要采用第一种增加内存的方式
export NODE_OPTIONS="--max-old-space-size=4096"
npm run build --max-old-space-size=4096
或者:
yarn build --max-old-space-size=4096
这样会将 Node.js 进程的内存限制设置为 4GB,然后执行构建命令。
要在 Jenkins Pipeline 中增加 Node.js 的内存限制,你可以通过设置环境变量 NODE_OPTIONS 来实现。
environment {
// 设置 NODE_OPTIONS 环境变量来增加 Node.js 的内存限制
NODE_OPTIONS = "--max-old-space-size=4096"
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。