Jenkins自动构建JAVA(完) (复制粘贴系列)

久等啦,Jenkins 部署 JAVA 完结篇,包含备份,备份回滚,不同环境部署,远程传输等功能,后面可添加邮件通知功能哦,不过最近比较忙,暂时没法进行加更了,感谢您的支持

继(二) 开始创建构建任务

相关的脚本

MAVEN 构建

clean package -Dmaven.test.skip=true -Dmaven.repo.local=/var/jenkins_home/.m2/repository/

jar备份

#!/bin/bash
# 备份脚本
FileDir=jenkins-springboot-demo
echo "Status:$ENV"
echo "Version:$Version"
case $ENV  in
  测试)
    #创建每次要备份的目录
    path="${WORKSPACE}/bak/${FileDir}/${BUILD_NUMBER}"      
    if [ -d $path ];
    then
        echo "The files is already  exists "
    else
        mkdir -p  $path
    fi
    #将打包好的jar包备份到相应目录,覆盖已存在的目标
    \cp -rf ${WORKSPACE}/${FileDir}/target/* $path/        
    echo "Completing!"
    ;;
  回滚测试)
      cd ${WORKSPACE}/bak/${FileDir}/$Version
      \mv -f *.jar ${WORKSPACE}/${FileDir}/target/
      ;;
  *)
  exit
      ;;
esac

备份删除

#!/bin/bash
# 备份删除脚本
FileDir=${WORKSPACE}/bak/jenkins-springboot-demo
date=$(date "+%Y%m%d-%H%M%S")

#进入备份目录
cd $FileDir
#当前有几个文件夹,即几个备份
FileNum=$(ls -l | grep '^d' | wc -l)   

while [ $FileNum -gt 5 ]
	do
      echo "进入删除"
      #获取最旧的那个备份文件夹
      OldFile=$(ls -rt | head -1)     
      echo  $date "Delete File:"$OldFile
      rm -rf $FileDir/$OldFile
      let FileNum--
	done 

jenkins_springboot.sh 参考脚本

#!/bin/sh
set -x
#定义jar包和PID进程变量值
JAR=jenkins-springboot-demo-0.0.1-SNAPSHOT.jar
PID=$(ps -ef | grep ${JAR} | grep -v grep | awk '{ print $2 }')

start() {
    PID=$(ps -ef | grep ${JAR} | grep -v grep | awk '{ print $2 }')
    if [ -z "$PID" ]; then
    nohup java -jar /home/www/jar/${JAR} --spring.profiles.active=default > /dev/null 2>&1 &
sleep 2
    PID=$(ps -ef | grep ${JAR} | grep -v grep | awk '{ print $2 }')
    [ -n "$PID" ] && echo "启动成功,PID is $PID" || echo "启动失败"
else
    echo "进程正在运行,PID is $PID"
fi
}

stop() {
    if [ -z "$PID" ]; then
    echo "进程已停止"
else
    kill  -9 $PID
    echo "进程已停止"
fi 
}

status() {
    if [ -z "$PID" ]; then
    echo "进程已停止"
else
    echo "进程正在运行,PID is $PID"
fi 
}

deploy() {
    #杀掉现有进程
    if [ -n "$PID" ];then
    kill -9 $PID
fi

#移动备份上个版本
mkdir -p /home/backups/jar
mkdir -p /home/www/jar/
test -f /home/www/jar/${JAR} && mv -f /home/www/jar/${JAR} /home/backups/jar/${JAR}-$(date "+%Y%m%d-%H%M%S")

#移动/tmp下上传的新版本jar包到/home/www下
mv /tmp/${JAR}  /home/www/jar/

#在后台启动新jar包
$(nohup java -jar /home/www/jar/${JAR} --spring.profiles.active=default > /dev/null 2>&1 &)
}

case "$1" in
    start)
    start
    ;;

    stop)
    stop
    ;;

    restart)
    stop
    sleep 2
    start
    ;;

    status)
    status
    ;;
    
    deploy)
    deploy
    ;;

    *)
echo "Usage: sh console_jar.sh {start|stop|restart|status|deploy}"
exit 3
;;
esac

执行构建

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值