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 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL