Jenkins發布回滾方案


Jenkins回滾可以通過每次發布從主干打tag,然后發布的時候發tag,比如tag, v1, v2,v3 如果我發布了v3,想要回滾回v2,直接在Jenkins中選擇v2的tag地址重新構建就可以回滾到v2發布時的代碼構建。
 
但是如果發布時沒有打tag的習慣或者覺得重構代碼比較費時如何操作?
下面看下如何配置
 
參數化構建過程中添加,如圖,按自己需要添加
接着是發布腳本
 
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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM