在jenkins的:/var/lib/jenkins/workspace:就会生成一个目录,他会自动编译里面的源码:
下面执行脚本部署项目了
原脚本

whoami
echo $(pwd)


echo "Stopping SpringBoot Application"
pid=$(ps -ef | grep aiteServer.war | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]
then
   sudo kill -9 $pid
fi
echo "Stopping SpringBoot Application"

java -jar  -Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=1024M -Dserver.port=8085  chatting-backstage-management/ruoyi-admin/target/aiteServer.war &



在构建后我发现没有报错,显示success成功;但是项目并没有启动,进程也没有;

后来查阅资料发现jenkins会在build以后把子进程杀死导致项目启动不成功;

查阅资料可以使用一个daemonize工具,指定服务为守护进程,安装教程:https://zhidao.baidu.com/question/625280331349345884.html

修改后

whoami
echo $(pwd)


echo "Stopping SpringBoot Application"
pid=$(ps -ef | grep aiteServer.war | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]
then
   sudo kill -9 $pid
fi
echo "Stopping SpringBoot Application"

BUILD_ID=dontKillMe nohup java -jar  -Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=1024M -Dserver.port=8085  chatting-backstage-management/ruoyi-admin/target/aiteServer.war &



Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐