經過GIT_COMMIT進行代碼回滾

首先須要安裝插件:conditional-buildstepgit

A buildstep wrapping any number of other buildsteps, controlling their execution based on a defined condition (e.g. BuildParameter).
 
 
一、構建代碼時,須要記錄每次構建的GIT_COMMIT,保存到一個文本中,以構建編號進行命名:
#!/bin/sh

#$1:send branch
#$2:jenkins build id
#$3:git commit

branch=$1
version=$2
commit=$3

case $branch in
    Pre)
        echo "branch: ${branch}"
        echo "version: ${version}"       
        echo "commit: ${commit}"       
        #同步代碼到發佈目錄  
        #to do
        
        
        #備份版本git commit
        echo ${commit}>/home/wos/test2/${version}.txt

        ;;
    Real)
        echo "branch: ${branch}"
        echo "version: ${version}"       
        echo "commit: ${commit}"     
        #同步代碼到發佈目錄
        #to do
        
        
        #備份版本git commit
        echo ${commit}>/home/wos/test2/${version}.txt

        ;;
    Rollback_Pre)
        echo "branch: ${branch}"
        echo "version: ${version}"       
        echo "commit: ${commit}"     
        #同步代碼到發佈目錄 
        #to do
        ;;
    Rollback_Real)
        echo "branch: ${branch}"
        echo "version: ${version}"       
        echo "commit: ${commit}"     
        #同步代碼到發佈目錄 
        #to do
        ;;
    *)
        exit
        ;;
esac

 

二、進行回滾服務器

case $deploy_evn in
    Rollback_Pre)
        url="$pre_version"
        ;;
    Rollback_Real)
        url="$real_version"
        ;;
    *)
        exit
        ;;
esac

model="$deploy_evn"
projectName=`echo "$url"|awk -F '/' '{print $6}'`
rollbackID=`echo "$url"|awk -F '/' '{print $7}'`


#獲取回滾GIT_COMMIT
commit=$(cat /home/wos/test2/${rollbackID}.txt)
#進入備份目錄
cd /home/wos/test3/WOS_Portal/
#下載最新代碼
git clone http://username:password@git.wondershare.cn/CPStudio/WOS_Portal.git
#本地回滾代碼
git reset --hard ${commit}
#回滾代碼到WEB服務器
/bin/sh /usr/local/rsync/portal/portal.sh $model $rollbackID
相關文章
相關標籤/搜索