Jenkins添加回滚功能

Jenkins回滚可以通过每次发布从主干打tag,然后发布的时候发tag,比如tag, v1, v2,v3 如果我发布了v3,想要回滚回v2,直接在Jenkins中选择v2的tag地址重新构建就可以回滚到v2发布时的代码构建。   但是如果发布时没有打tag的习惯或者觉得重构代码比较费时如何操作? 下面看下如何配置 Jenkins添加回滚功能Jenkins添加回滚功能   参数化构建过程中添加,如图,按自己需要添加 Jenkins添加回滚功能Jenkins添加回滚功能 接着是发布脚本 Jenkins添加回滚功能Jenkins添加回滚功能   case $Status  in   Deploy)     echo "=========== Generate deploy parameters =============="     path="${WORKSPACE}/bak/$BUILD_ID"     if [ -d $path ];     then         echo "===== The backup directory already exists ======="     else         mkdir -p  $path     fi          #war包路径     jar_file=$(find $WORKSPACE/$module/target -name *.war)     #war包名称     war_file_name=$( basename $jar_file)          yes|cp -a $jar_file $WORKSPACE/bak/$BUILD_ID/     ;;   Rollback)     echo "========== Generate Rollback parameters ============"     echo "Rollback_tag:$Rollback_tag"          #war包路径     jar_file=$(find $WORKSPACE/bak/$Rollback_tag -name *.war)          #war包名称     war_file_name=$( basename $jar_file)       ;;   *)   exit       ;; esac   #如果使用ansbile发布请开启下面的变量注入 #echo jar_file=$jar_file >>tmp.pro #echo war_file_name=$war_file_name >>tmp.pro   echo "============ Start the deploy or rollback =============" scp $jar_file root@172.10.10.17:/usr/local/newindex/ ssh root@172.10.10.17 /usr/local/newindex/deploy-new-index.sh   ############################################################## 附上陈旧备份清理脚本 #/bin/bash #饭票20190402 #用于判断Jenkins的备份目录,如果数量大于5就删除最久的一个备份目录 units=5 dir=`ls /jenkins/workspace/ | grep -v "package-lock.json"|grep -v "node_modules"`   for i in $dir do   if [ -d /jenkins/workspace/$i/bak ];   then      for x in 1 2 3      do       dir_units=`ls /jenkins/workspace/$i/bak | wc -l`       if [ $dir_units -gt $units ];       then          a=`ls -tr /jenkins/workspace/$i/bak/ | head -1`          echo "$i 目录下有需要清理的陈旧备份,第 $x 次清理 $a 备份目录" `date`          #find /jenkins/workspace/$i/bak -name $a  -exec rm -rf {} \;          find /jenkins/workspace/$i/bak -name $a | xargs rm -rf;      fi      done fi   done
上一篇:使用 Visual Studio 对exe文件进行数字签名


下一篇:Angularjs总结(四)$on、$emit和$broadcast的使用