首先安装golang
# 安装golang
- 下载对应项目的版本,并解压
tar -C /usr/local/ -xzf go1.10.5.linux-amd64.tar.gz
- 配置bin目录
export PATH=$PATH:/usr/local/go/bin
编写编译脚本
重点是声明GOPATH和将vendor中的文件移动到项目代码平级
脚本如下:
#------------------------------------------------------------
# 机器:root@test
# 目录:/root/gitlab/
# 执行:
# 参数:第一个参数为projectName,第二个参数为tag名称,如果为空则....
# /root/gitlab/buildDir/${projectName}_buildDir 为编译目录
# /root/gitlab/${projectName} 为git拉取代码目录
#
#------------------------------------------------------------
echo "目前切换tag,没有获得最新代码!!!目前删除目录然后拉取操作替代"
projectName=goProject1
tag=goProject1.1.3.0.20200828D1
base_dir=/root/gitlab
build_dir=${base_dir}/buildDir
project_build_dir=${build_dir}/${projectName}_buildDir/src/${projectName}
echo "--------按${tag}拉取最新代码--------"
cd /root/gitlab
git clone --branch xxx分支 ssh://git@git.test.cn:9999/recommend/${projectName}.git
cd ${base_dir}/${projectName}
git checkout ${tag}
echo "--------拷贝代码到编译目录--------"
echo "--重新创建编译目录--"
cd ${build_dir}
rm -rf ${build_dir}/${projectName}_buildDir
mkdir -p ${project_build_dir}
echo "--将项目代码拷贝到编译目录 "
cp -r ${base_dir}/${projectName}/* ${project_build_dir}
echo "--将vendor文件夹内容移动到src目录下,保持与项目代码平级--"
mv ${project_build_dir}/vendor/* ${build_dir}/${projectName}_buildDir/src
echo "--------声明GOPATH--------"
export GOPATH=${build_dir}/${projectName}_buildDir
echo "--------进入编译目录--------"
cd ${project_build_dir}
echo "--------开始编译--------"
go build