golang自动构建脚本

时间:2019-03-15
本文章向大家介绍golang自动构建脚本,主要包括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