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

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条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 9月26日
      • 修改了问题 9月20日
      • 赞助了问题酬金10元 9月20日
      • 创建了问题 9月20日

      悬赏问题

      • ¥15 有关时间计算器的问题
      • ¥200 Chrome浏览器自动保存密码需要解密!来人
      • ¥18 关于#c语言#的问题:如何把下面几个代码放在一起编序号,然后输入对应数字运行对应代码,还可以返回重输1.成绩求平均数#include <stdio.h>
      • ¥30 windows下无法运行go test的问题
      • ¥15 多个Rigify骨骼 导入一起 后 没有 控制器面板
      • ¥15 想问一下sprak ada语言的pre和post怎么设
      • ¥15 使用python将分子模拟输出.gro文件
      • ¥15 港诡实录的背包系统拆解
      • ¥15 宽带IP网络路由器的初始路由表和最终路由表
      • ¥15 c语言基础这几个该怎么搞