• Jenkins版本回滚


    [参考] https://www.jianshu.com/p/af5fecaa8357

    博主心得:

    构建脚本可以写入到shell脚本文件中,这样避免多个同类型项目每次都要粘贴一次,以便做到统一管理同类型项目构建策略。

    另外我也对脚本进行了一些小调整,备份清理脚本可以通过参数进行传递,以便不同项目针对不同情况设置,无参传递则使用默认值:5


    # 自动备份部署war包

    /data/deploy/auto-bak-deploy-war.sh
    #!/usr/bin
    
    # 自动备份部署war包
    
    FileDir=${WORKSPACE}/bak/ #备份目录
    
    case $Status  in
      Deploy)
        echo "Status:$Status"
        path="${FileDir}/${BUILD_NUMBER}"      #创建每次要备份的目录
        if [ -d $path ];
        then
            echo "The files is already  exists "
        else
            mkdir -p  $path
        fi
        cp -f ${WORKSPACE}/target/*.war $path        #将打包好的war包备份到相应目录,覆盖已存在的目标
        echo "cp -f ${WORKSPACE}/target/*.war ${path}"
        echo "Completing!"
        ;;
      Rollback)
          echo "Status:$Status"
          echo "Version:$Version"
          cd ${FileDir}/$Version            #进入备份目录
          cp -f *.war ${WORKSPACE}/target/       #将备份拷贝到程序打包目录中,并覆盖之前的war包
          echo "cp -f ${FileDir}/${Version}/*.war ${WORKSPACE}/target/"
          ;;
      *)
      exit
          ;;
    esac
    
    echo -e "Current Bak Version List:" $(ls ${FileDir}) "
    
    "
    #自动清理过期部署war包
    /data/deploy/auto-clear-expire-bak-deploy-war.sh
    #!/user/bin
    
    # 自动清理过期部署war包
    
    defaultReservedNum=5 # 默认保留文件数
    
    # 是否有参数传递保留文件数
    if [ "$1" ];then
        expr $1 + 0 &>/dev/null
        if [ $? == 0 -a $1 > 0 ] ;then
            ReservedNum=$1  #保留文件数
        else
            ReservedNum=${defaultReservedNum}
        fi
    else
        ReservedNum=${defaultReservedNum}
    fi
    
    (date "+%Y%m%d-%H%M%S")
    
    echo ReservedNum: ${ReservedNum}
    
    FileDir=${WORKSPACE}/bak/ #备份目录
    
    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
    
    echo -e "Current Bak Version List:" $(ls ${FileDir}) "
    
    "

    Jenkins构建shell脚本:

  • 相关阅读:
    Handlerbars基础笔记
    each()和eq()
    可编辑表格(Editable Table)
    垂直居中vertical-align
    CSS属性的私有前缀
    CSS进阶知识
    CSS预处理器们
    CSS3之伪元素选择器和伪类选择器
    CSS基础复习
    Plan
  • 原文地址:https://www.cnblogs.com/zflinux21/p/13943093.html
Copyright © 2020-2023  润新知