Jenkins 点击构建前端项目时,无限加载没有任何响应,求助。

2019-07-18 10:30:14 +08:00
 jmyz0455

Jenkins 本身是用 Docker 部署在服务器上,以前在网页端打开具体前端项目,点击 “立即构建” Jenkins 就会在 git 上把项目文件更新然后用 npm 命令进行构建,以前一直没问题。直到最近因项目需求,某个项目需要引入一个 13M 的特殊 js 文件后,构建就没成功过。

具体情况是点击 “立即构建” 后,网页上能输出 console output,在输出中看到 git 的更新文件功能是正常的,但是一旦跑到前端的 npm 命令时,就会停在 loading 中(加载效果一直在转),没有任何反应,直至手动终止构建。

为了保证该项目本身是没有问题的,我在 git 上把项目拉取下来,放在任何一个电脑上,都能成功在电脑本地构建,同时可以确保的是,仓库上分支和代码版本是一致的,本地的 node/npm 版本和 npm 命令与 Jenkins 里的设置也是一致的。

前端构建的命令是 npm run limit && npm run build,对应的脚本是 cross-env LIMIT=4096 increase-memory-limit 和 vue-cli-service build。其中 limit 命令是项目构建失败了之后,经过搜索怀疑是 node 构建时对单文件大小有限制,所以使用了 limit 命令进行解除限制的处理。但是仍然没有任何效果。

更奇怪的是我把 Jenkins 构建命令换成 npx vue-cli-service build --verbose,依然构建不成功,也没有输出更多有效的日志。但是我发现只要不是跑 vue-cli-service build,而是 npm audit、npm run limit 等打包命令时,Jenkins 的输出是正常的(不卡住)。

由于 Jenkins 构建前端项目时没有任何有效的打印,所以请问 Jenkins 对于某个 jobs 是否可以有更详细的本地日志?使用 Jenkins CLI 或者打开 Jenkins Docker 能不能捕获更多构建时的信息?

我该如何去排查这个前端项目的构建问题?

9048 次点击
所在节点    程序员
23 条回复
defunct9
2019-07-26 11:40:51 +08:00
@jmyz0455 请问楼主问题解决了吗?楼上的各位兄弟的的分析都试过了吗?
jmyz0455
2019-07-26 16:48:36 +08:00
@defunct9 暂时还没,这几天很忙,我有空了先试试各位的办法,还是不行再打搅您吧,当伸手党有点不太好意思哈哈。
benbenTW
2019-12-10 22:15:26 +08:00
遇到了相同的问题。
我们的 docker 中,使用了 docker-chromium-xvfb。vue-cli-service 是 4.1.0 版本。在 vue-cli-service build 的时候,卡住。
但是在 vue-cli-service 是 3 版本的时候,没有问题。
最后发现是 vue-cli-service 4.1.0 版本,检查了 docker 中的 chrome 版本。chrome --version 之后没有返回。
解决办法是修改 vue-cli-service 中的脚本,跳过 chrome --version。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/584034

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX