转载:https://blog.csdn.net/hongtaolong/article/details/89102350
一、准备Demo项目
端口:8888
二、创建启动脚本:
先在家目录下创建存放打包好的jar包的目录:
root@9ea09fc1cf39:/home/jenkins_01# mkdir HelloWorld
创建启动脚本:
root@9ea09fc1cf39:/home/jenkins_01# cd HelloWorld
root@9ea09fc1cf39:/home/jenkins_01/HelloWorld# vi startup.sh
#!/bin/sh
echo "remove old helloboot.jar ..."
rm /home/jenkins_01/HelloWorld/spring-boot-helloworld-quick-0.0.1-SNAPSHOT.jar
cp /var/jenkins_home/workspace/springboot-helloword/target/spring-boot-helloworld-quick-0.0.1-SNAPSHOT.jar /home/jenkins_01/HelloWorld
sleep 2s
echo "running helloboot.jar...."
java -jar /home/jenkins_01/HelloWorld/spring-boot-helloworld-quick-0.0.1-SNAPSHOT.jar &
echo "running helloboot finish"
创建停止脚本:
root@9ea09fc1cf39:/home/jenkins_01/HelloWorld# vi stop.sh
#!/bin/sh
cd /home/jenkins_01/HelloWorld
echo "stopping helloboot application...."
pid=`ps -ef | grep spring-boot-helloworld-quick-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if ["$pid" == ""]
then
echo "helloboot is already stop!"
else
echo "kill -9 的pid:"+$pid
kill -9 $pid
fi
回到家目录下:
root@9ea09fc1cf39:/home/jenkins_01/HelloWorld# cd ..
修改权限:
chmod 777 -R HelloWorld
切换到jenkins工作目录:
root@9ea09fc1cf39:/home/jenkins_01# cd /var/jenkins_home/workspace/
更改当前jenkins项目文件夹权限:
chmod 777 -R springboot-helloword
三、配置jenkins执行:
- 配置仓库地址
- 配置执行脚本:
#!/bin/bash
mvn clean install -DskipTests
cd /home/jenkins_01/HelloWorld
echo "execute stop.sh shell start ..."
sh stop.sh
echo "execute stop.sh shell finish"
BUILD_ID=dontiKillMe nohup /home/jenkins_01/HelloWorld/startup.sh &
- 立即构建
四、测试jenkins所在服务器的8888端口
root@9ea09fc1cf39:/# curl localhost:8888/hello
你好!jar包部署成功!
至此,部署完成!
附加:
在此过程中,我在打包时遇到maven报错,可以将jenkins的构建脚本中加一个 ' -X ' 选项,就可以看到DEBUG日志。我遇到的问题就是权限不足。
这一行,改成:mvn clean install -X -DskipTests