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包上传到这里了

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

JARFILE=jenkins-demo-0.0.1-SNAPSHOT.jar
#!Jenkins编译好的 jar存放地址
file_path=/home/rhel7/.jenkins/workspace/jenkinsTest/target
#!将现有的 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 /home/rhel7/.jenkins/workspace/jenkinsTest/target/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 "启动成功"

猜你喜欢

转载自www.cnblogs.com/maybesuch/p/9083818.html