Jenkins部署springboot项目

记录jenkins如何部署springboot项目(jar类型的)

一、首先需要先配置好jenkins的基本配置(jdk、maven……),可在系统管理——>>全局工具配置中进行配置。

       配置ssh内容:

           在系统管理-》系统设置里,找到Publish over SSH(需要安装Publish over SSH插件)
 
 
2、然后就是配置部署项目的东西了。
 
 构建环境中勾选,代码构建的过程中会将日志打印出来
 
 
 Post Steps 配置:
     选择如下:

Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看

Remove prefix:表示要上传时要去除的文件夹。即仅仅上传war包

remote driectory:即表示运行时的路径,相当于把war包上传到这里了,这个很重要,跟上面构建后操作的Remote Directory是会合并到一起的,比如我上面构建后操作中配置的RemoteDirectory是/home/rhel7/Jenkins-in/tmp,然后这边远程服务器的Remote Directory配置的是/,那么war包传输过去路径是/home/rhel7/Jenkins-in/tmp目录。

exec commad:要运行的命令

配置Exec command: 

  cd /home/rhel7/Jenkins-in/
  echo "Execute shell Start"
  sh stop.sh
  sh replace.sh
  echo "Execute shell Finish"
  chmod 777 /home/rhel7/Jenkins-in/startup.sh
  BUILD_ID=dontKillMe nohup /home/rhel7/Jenkins-in/startup.sh &

 三个脚本为:

    1. stop.sh

# stop.sh
#!/bin/bash
JARFILE=jenkins-demo-0.0.1-SNAPSHOT.jar
 
cd /home/rhel7/Jenkins-in
echo "Stopping SpringBoot Application"
ls
 
pid=`ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ];then
  echo "kill -9 的 pid:"$pid
  kill -9 $pid
fi
echo "清除进程已完成"   

2.replace.sh

#!/bin/bash
# 打包好的项目名称
JARFILE=jenkins-demo-0.0.1-SNAPSHOT.jar # 编译好的 jar存放地址 file_path=/home/rhel7/Jenkins-in/tmp # 将现有的 jar 备份后,将新的 jar 替换 file=/home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar if [ -f "$file" ];then mv /home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar /home/rhel7/Jenkins-in/backup/jenkins-demo-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S` fi cp $file_path/jenkins-demo-0.0.1-SNAPSHOT.jar /home/rhel7/Jenkins-in/ # 删除老旧的备份项目 cd /home/rhel7/Jenkins-in/backup ls -lt | awk 'NR>5{print $NF}' | xargs rm -rf

3.startup.sh

#!bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
echo ${JAVA_HOME}
echo "授权当前用户"
chmod 777 /home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar
echo "执行...."
nohup ${JAVA_HOME}/bin/java -jar /home/rhel7/Jenkins-in/jenkins-demo-0.0.1-SNAPSHOT.jar > /dev/null &
echo "启动成功"
原文地址:https://www.cnblogs.com/maybesuch/p/9083818.html