首先须要安装插件:conditional-buildstepgit
#!/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