TalentedCheng 2022-09-20 09:54 采纳率: 40%
浏览 108
已结题

jenkins自动化打包docker与nodejs问题

问题遇到的现象和发生背景

我需要使用jenkins为前端代码进行自动化打包,但是nodejs的安装环境需要jdk8,与jenkins的jdk11有差异
所以我使用docker来安装nodejs,并在jenkins中使用Execute shell执行打包命令

ls
pwd
echo $USER
sudo docker ps
sudo docker exec node bash -c "ls; \
                               node -v; \
                               cd www/; \
                               ls; \
                               npm run build;"

由于npm run build命令在打包完毕后,需要键盘输入ctrl+c退出,不退出则一直等待。
直接安装nodejs,问题依旧存在,必须键入ctrl+c才能退出,不接受任何shell命令,也找不到build.js文件中的‘build complete’行

img

img

于是遇到了jenkins脚本执行后无法继续也无法终止的问题

我的解答思路和尝试过的方法

我在网上找到的最好的解决方法,是找到build.js文件,并在最后增加强制退出。precess.exit(0)
源网页
http://t.csdn.cn/AmnDu

但是问题是我找遍nodejs容器中的所有build.js文件
都不存在‘ build complete.\n’这样的 执行成功提示 代码行,但是npm run build的命令执行完毕后又确实输出了build complete

所以很苦恼!

我想要达到的结果

1、想要知道是否有利用Execute shell发送ctrl+c信号的方法
2、想找到‘build complete’代码行具体存在于哪个文件,亦或是寻找npm run build执行路径的方法,网上的答案都很不理想。

  • 写回答

4条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 10:06
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月26日
  • 修改了问题 9月20日
  • 赞助了问题酬金10元 9月20日
  • 创建了问题 9月20日

悬赏问题

  • ¥15 有没有人知道这个问题怎么解决
  • ¥15 comsol电力电缆载流量仿真
  • ¥15 webSocket可以接TCP socket接口吗
  • ¥60 mpi并行出错,CFD++计算
  • ¥15 c#:vsto,powerpoint的外接程序中换主题颜色
  • ¥15 状态机/汽车转向灯/Sateflow
  • ¥15 这个有点复杂 有没有人看看
  • ¥15 用python如何确定子孙元素在父元素中的位置
  • ¥15 obj文件滤除异常高程
  • ¥15 用mathematicas或者matlab计算三重积分