#!/bin/sh #代碼分支 branch_c=$1 branch_p=$2 #服務器 server=$3 #構建版本 version=$4 case $server in test1) echo "代碼分支: ${branch}" echo "服務器: ${server}" #定義代碼存放目錄 folder="/data/gopro/WOS_CORE/" ##判斷WOS_CORE目錄是否存在,不存在則第一次拉取 if [ ! -x "$folder" ]; then #echo "目錄不經存在,第一次拉代碼"
#拉取主模塊代碼 cd /data/gopro/ git clone -b $branch_c http://username:passwd@git.wondershare.cn/XXX.git
#拉取子模塊代碼 cd /data/test/WOS_CORE rm -rf .git/index src/proto/ git submodule -b $branch_p add http://username:passwd@git.wondershare.cn/XXX.git proto else #echo "目錄已存在,非第一次拉代碼"
#拉取主模塊代碼 cd /data/gopro/WOS_CORE git commit -m 'test' . git pull git checkout $branch_c
#拉取子模塊代碼 cd /data/gopro/WOS_CORE/src/proto git commit -m 'test' git pull git checkout $branch_p fi #編譯代碼 /bin/sh gen_proto.sh cd /data/gopro/WOS_CORE/src go build go install #同步代碼 sudo rsync -avP --password-file=/usr/local/rsync/rsync.scrt /data/gopath/bin/rest apache@X.X.X.X::apache/data/www/vhosts/go #建立備份目錄 echo $version mkdir -p /data/go_backup/${version} #把代碼複製到備份目錄 cp /data/gopath/bin/rest /data/go_backup/${version} ;; *) exit ;; esac