在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 &