jenkins部署spring boot项目

jenkins部署spring boot跟以前部署到tomcat和 weblogic有点不一样,之前是已经有服务器在运行可以利用服务器的远程部署来完成,spring boot是内嵌服务器,所以需要通过jenkins的ssh插件将jar包发送到应用服务器,再通过linux脚本来启动服务器。

结构图例:

详细步骤:

第一步:先配置jenkins的ssh插件Publish Over SSH

 系统管理---插件管理 ,安装ssh插件

配置如下:

remoto directory这个路径的意思是目标服务器上,你选取一个路径作为远程操作的跟路径,后续传输文件的路径都是相对于这个根路径来定位,以前就在这里碰到了这个坑,后来用/来表示。后面的路径就是按照实际填写。

第二步:创建maven项目

基本代码配置跟上篇的tomcat部署方式差不多,这里不再重复,有疑问可以翻阅上篇 jenkins+svn+ant+weblogic/tomcat持续化集成部署

这里打包方式是采用的maven来编译打包,配置如下

clean install -Dmaven.test.skip=true -Ptest

配置编译后ssh服务

附上使用的脚本

DATE=$(date +%Y%m%d)
export JAVA_HOME=/usr/jdk1.8
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/usr/local/app/leaf6-epbd
JARFILE=leaf6-epbd-rest-1.0.jar

if [ ! -d $DIR/backup ];then
   mkdir -p $DIR/backup
fi
cd $DIR

ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
mv  $JARFILE backup/$JARFILE$DATE
mv -f /usr/local/jenkins-app/$JARFILE .

java -jar $JARFILE > out.log &
if [ $? = 0 ];then
        sleep 30
        tail -n 50 out.log
fi

cd backup/
ls -lt|wak 'NR>5{print $NF}'|xargs rm -rf

脚本大概意思讲解:

DIR是服务器部署文件夹

/usr/local/jenkins-app是接收到jar包的文件夹

先将服务器线程杀死,停止服务器

然后将原来的包备份到backup文件夹中

最后将传出到服务器的jar包放到部署文件夹中,启动服务

删除历史备份,最新的几个

猜你喜欢

转载自blog.csdn.net/caicai250/article/details/82862245