golang自動構建腳本

#!/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
相關文章
相關標籤/搜索