Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)

配置 一

此配置为 Jenkins在Centos7 上部署

  1. General配置
    Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第1张图片

  2. 源码管理 - svn地址 + 凭证
    Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第2张图片

  3. 构建触发器 (H/30 * * * * 代表 : 构建一次/30分钟 )
    Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第3张图片

  4. 构建 + 发布
    Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第4张图片

******* 重点是脚本 *******

#!/bin/bash 
cd /home/xindun/jenkins
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod 777 /home/xindun/jenkins/startup.sh
BUILD_ID=dontKillMe nohup /home/xindun/jenkins/startup.sh &

三个文件内容

-----------stop.sh -----------start -----------

#!将应用停止
#!stop.sh
#!/bin/bash
cd /home/xindun/jenkins
echo "Stopping SpringBoot Application for CMP"
pid=`ps -ef | grep cims_eureka-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
echo $pid
if [ -n "$pid" ]
then
#!kill -9 强制终止
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

-----------stop.sh -----------end -----------

-----------replace.sh -----------start -----------

echo "replace is starting"
jar_name=cims_eureka-0.0.1-SNAPSHOT.jar
#!编译好的jar包存放地址
file_path=/root/.jenkins/workspace/carta_eureka/target
#!将现有的jar备份后,将新的jar包替换
file="/home/xindun/jenkins/cims_eureka-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
#!删除全部旧版本
rm -rf /home/xindun/jenkins/old/*
mv /home/xindun/jenkins/$jar_name /home/xindun/jenkins/old/cims_eureka-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp $file_path/$jar_name /home/xindun/jenkins
echo "replace END"

-----------replace.sh -----------end -----------

-----------startup.sh ----------- start -----------

export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
echo "**********************service-eureka on  jenkins starting*************************"
chmod 777 /home/xindun/jenkins/cims_eureka-0.0.1-SNAPSHOT.jar
echo "excuting....."
cd /home/xindun/jenkins
java -jar cims_eureka-0.0.1-SNAPSHOT.jar > logs/carta_eureka.log 2>&1 &
echo "**********************service-eureka on  jenkins started*************************"

-----------startup.sh -----------end -----------

应用保存后,直接 构建项目。

配置 二

此配置为Jenkins部署在windows上 构建后向ssh服务器发送并部署
配置二与配置一不同之处为构建install后需要上传至服务器并发布;

Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第5张图片
Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第6张图片
Jenkins 发布spring boot项目 的 配置 (version: 2.138.2)_第7张图片
Exec command:

#!/bin/bash 
cd /home/xindun/idaas
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod 777 /home/xindun/idaas/startup.sh
BUILD_ID=dontKillMe nohup /home/xindun/idaas/startup.sh &

脚本1 -----stop.sh------

#!将应用停止
#!stop.sh
#!/bin/bash
cd /home/xindun/idaas
echo "Stopping SpringBoot Application for CMP"
pid=`ps -ef | grep service-eureka-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
echo $pid
if [ -n "$pid" ]
then
#!kill -9 强制终止
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

脚本2 -----replace.sh------

echo "replace is starting"
jar_name=service-eureka-0.0.1-SNAPSHOT.jar
#!编译好的jar包存放地址
file_path=/home/xindun/idaas/new
#!将现有的jar备份后,将新的jar包替换
file="/home/xindun/idaas/service-eureka-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
#!删除全部旧版本
rm -rf /home/xindun/idaas/old/*
mv /home/xindun/idaas/service-eureka-0.0.1-SNAPSHOT.jar /home/xindun/idaas/old/service-eureka-0.0.1-SNAPSHOT.jar.`date +%Y%m%d%H%M%S`
fi
cp /home/xindun/idaas/new/service-eureka-0.0.1-SNAPSHOT.jar /home/xindun/idaas
echo "replace END"

脚本3 -----startup.sh------

export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
echo "**********************service-eureka on  jenkins starting*************************"
chmod 777 /home/xindun/jenkins/service-eureka-0.0.1-SNAPSHOT.jar
echo "excuting....."
cd /home/xindun/jenkins
java -jar service-eureka-0.0.1-SNAPSHOT.jar > logs/eureka.log 2>&1 &
echo "**********************service-eureka on  jenkins started*************************"

你可能感兴趣的:(jenkins,Jenkins,Jenkins配置,springboot,ssh)