#!/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