美文网首页
jenkins部署springboot项目 带版本回滚

jenkins部署springboot项目 带版本回滚

作者: 子丿龙 | 来源:发表于2021-04-19 09:55 被阅读0次

    jenkins先安装插件 Conditional BuildStep ,maven integration
    默认基本配置你都装好了,那么进行下面操作

    1. 新建自由风格工作流(不是maven风格)
    2. 进入工作流,配置参数化构建过程,第一个,构建状态选择参数,是构建发布还是构建回滚,如下图:
    image.png
    3. 配置回滚操作时的Version版本参数,如下图:
    image.png
    4. 配置git地址,密码和秘钥自己选个配置,然后选好构建的分支
    5. 选择增加构建步骤,选择Conditional step(single),这一步我们要进行shell条件判断是否要进行项目的build,如下图:
    image.png image.png

    条件判断的shell如下,返回0表示要build,非0表示不build。如果需要build,就执行maven命令,打包项目

    #!/bin/bash
    if [ $BUILD_TYPE == Deploy ];then 
      echo "Deploy,  build required" 
      exit 0
    else
      echo "No Need to build"
      exit -1
    fi
    
    6. 继续增加第二个构建步骤,这次我们要对包进行备份,选择always即可,不需要像上一步增加判断。(如果熟悉流程后,可以灵活的把备份放到最后再增加一个构建步骤即可,这里只进行判断是否回滚,毕竟备份费时间)
    image.png
    case $BUILD_TYPE in
      Deploy)
        echo "BUILD_TYPE:$BUILD_TYPE"
        path="/root/kids-version-manager/bak/${BUILD_NUMBER}"
        if [ -d $path ];
        then
            echo "The files is aready exists "
        else
            mkdir -p $path
        fi
        cp -f ${WORKSPACE}/kids-world-api/target/*.jar $path
        echo "completing"
        ;;
      Rollback)
        echo "BUILD_TYPE:$BUILD_TYPE"
        echo "Version:$Version"
        cp -f /root/kids-version-manager/bak/$Version/*.jar  ${WORKSPACE}/kids-world-api/target
        ;;
      *)
      exit
          ;;
    esac
    

    7. 再增加一个构建步骤,这次像配置标准maven流程一样,配置一下项目的启动命令即可。参照 我的的文章https://www.jianshu.com/p/fd0b868e2780 的第4步即可。就是写个shell脚本启动一下项目

    8. 如果闲的蛋蛋疼,可以再增加一个构建步骤,每次清理下备份,这里只保留了5个备份。

    image.png
    ReservedNum=5  #保留文件数
    FileDir=/root/kids-version-manager/bak
    date=$(date "+%Y%m%d-%H%M%S")
    
    cd $FileDir   #进入备份目录
    FileNum=$(ls -l | grep '^d' | wc -l)   #当前有几个文件夹,即几个备份
    
    while(( $FileNum > $ReservedNum))
    do
        OldFile=$(ls -rt | head -1)         #获取最旧的那个备份文件夹
        echo  $date "Delete File:"$OldFile
        rm -rf $FileDir/$OldFile
        let "FileNum--"
    done 
    

    相关文章

      网友评论

          本文标题:jenkins部署springboot项目 带版本回滚

          本文链接:https://www.haomeiwen.com/subject/xuzulltx.html