go基础

1 编译脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# exit 非0退出
set -e

# 初始化变量
BUILD_BRANCH=""
IP=""
GOOS=""
ARCH=""
COMPILE=true
DEPLOY=false

# 输出命令
set -x

go mod tidy

go_version=$(go version)
build_commit=$(git log --pretty=format:"%h" -1)

# 判断空
if [ -z "$BUILD_BRANCH" ]; then
BUILD_BRANCH=$(git branch --show-current)
fi

build_time=$(date '+%Y-%m-%d %H:%M:%S')

if [ -z "$GOOS" ]; then
GOOS=$(go env GOOS)
fi

if [ -z "$ARCH" ]; then
ARCH=$(go env GOARCH)
fi

target=main
if [ "$GOOS" = "windows" ]; then
target=main.exe
fi

# 编译
CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${ARCH} go build -a -ldflags "-s -w \
-X 'eversec.cn/cloud-river/args.BuildGoVersion=${go_version}' \
-X 'eversec.cn/cloud-river/args.BuildCommitId=${build_commit}' \
-X 'eversec.cn/cloud-river/args.BuildBranch=${BUILD_BRANCH}' \
-X 'eversec.cn/cloud-river/args.BuildTime=${build_time}'" \
-gcflags="all=-trimpath=${PWD}" \
-asmflags="all=-trimpath=${PWD}" \
-buildvcs=false -o cloud-river/${target}
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2024 zhanglonglong
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信