jenkins远程部署springboot项目
转载自http://www.jetchen.cn/jenkins-deploy-springboot/,网上翻了一大堆,就这个攻略靠谱,原作者的脚本我改了一下,其实区别不同的也就是脚本而已,其他大同小异。感谢原作者
一、环境准备
① 想用 jenkins,首先的大前提是准备 java 的运行环境,就是装 jdk 。
② 如果你要打包的是 maven 项目,那么恭喜,本地还需要安装一个 maven。
③ 根据项目托管的环境,如果是 git,那么本地还需要安装 git。
二、基础配置
上述准备工作完事了之后,那就开心地安装 jenkins 吧。
安装完了之后,登陆,查看初始密码(初始密码在安装路径下的“\secrets\initialAdminPassword”文件内),然后可以选择安装一些基础的插件。
① 插件安装
如果有网,则可以在线安装,如果没有网络,则离线安装(建议在线安装,因为插件之间有关联,在线安装的话会帮你安装关联插件,离线的话则要根据提示的插件的依赖依续安装),提供一个下载插件的清华的源:https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
主要插件列表如下(在线安装时,这几个插件安装后会自动安装其依赖的插件):
git plugin:从Git拉代码
Maven Integration plugin:如果需要使用 maven 来打包的话
Publish Over SSH:如果需要将打包好的代码上传到远程的话
② 全局配置
如下仅列出了两项,其它的例如 git 的秘钥配置,暂不赘述
三、创建任务
新建任务时可以新建基于 maven 的任务,也可以复制一个已有的任务来进行更改,
任务的新建不难,再次列两个需要注意的点:
四、shell 脚本
deploy.sh
[root@gateway project]# cat start.sh #!/bin/bash jarfile=gateway-center-0.0.1-SNAPSHOT.jar export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64 echo "执行....." nohup ${JAVA_HOME}/bin/java -jar /root/$jarfile &
startup.sh
[root@gateway project]# cat deploy.sh
#! /bin.bash
echo "Stopping SpringBoot Application"
jarfile=gateway-center-0.0.1-SNAPSHOT.jar
pid=`ps -ef | grep $jarfile | grep -v grep | awk '{print $2}'`
echo $pid
echo "--------kill start--------------"
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
echo "--------kill finish-----------------"
echo "--------replace start--------------"
DATE=$(date +%Y%m%d%H%M%S)
mv /root/$jarfile /usr/local/project/$jarfile.$DATE.bak
mv /usr/local/project/$jarfile /root/
echo "--------replace finish-----------------"
echo "Execute shell Finish"
sh /usr/local/project/start.sh