jenkins运行shell脚本启动项目显示成功但项目没启动

本文记录了一位开发者在使用Jenkins通过shell脚本启动项目时遇到的问题及解决过程。问题主要涉及进程查找、脚本执行、项目路径等。经过一系列排查,最终发现项目路径中包含数字导致的问题,修改后成功启动。总结了查找pid、检查资源、脚本修改等关键步骤,为类似问题提供了解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jenkins运行shell脚本启动项目显示成功但项目没启动

jenkins的安装部署就不说了。我这个项目是从一个原来的项目复制后直接修改相应配置的,将需要的都配置好后发现会运行指定的shell脚本,但是项目就是不启动。但我被复制的项目是好的。

一、问题排查

1.看控制台输出发现还真有问题:
ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [-1]]
Finished: UNSTABLE
在这里插入图片描述
2.后来经过百度很多人都说是因为ps查询到的进程包含查询进程自身,当管道进行到kill的时候,所有进程一同被杀死。解决方法:在查找项目进程号时加上“grep -v grep”排除掉它自身。

但我的本来就加了这个,所以并没有解决我的问题。
我的脚本:
在这里插入图片描述
3.后来又看到说磁盘满了,也不是。。。

4.后来找到个在 SSH Publishers的Exec command最后加上ps -ef | grep java,这个最后显示Finished: successed了,但是错误还是在。加这个作用时给它一个返回值,jenkins读到了脚本的返回值就显示成功了,但是这跟错误无关,项目还是没起来。

5.此时我已经折腾了半天了,无奈。。我只能从脚本下手了,我发现正常的项目打印查到的pid都只有一个,但是这个项目有两个以上,我想这就是问题所在了。于是继续百度,在脚本第一行加BUILD_ID=dontkillme,没用没用。。。

二、问题确定

按理来说不可能有问题,我的脚本单独执行没问题,而且其他类似的项目除了路径不一样其他都一样一点问题没用。于是我只能从脚本里面的内容进行修改测试,用排除法来解决。

1.后面我在脚本加了个输出,看往哪走。下面是我修改后的脚本:
在这里插入图片描述
2.结果它打印了“正常启动啦!!!”,于是可以确定问题有以下几个:
(1).查找进程号查到多个,并且被kill掉了。
(2).但是继续往下走了,后面的启动脚本又没有执行。

三、问题解决

1.最后我从项目路径下手了,我本项目跟其他项目在shell里写的都是绝对路径,但是我发现jpush-app-1.0中的0是红色,说实话,我也没明白里面的字体颜色啥意思。但我感觉它就是有问题。其实一开始就看到了,但没怀疑到它身上。

2.然后我把jpush-app-1.0改为jpush-app,嗯。。。好了。。。

四、总结

1.查找pid时加上grep -v grep
2.检查磁盘内存
3.SSH Publishers的Exec command最后加上ps -ef | grep java
4.项目路径有数字或者多个-(具体啥原因还没弄清楚,弄清楚了再来加上),如果以上没解决,考虑项目路径,尽量简单点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值