提交 3c95e509 编写于 作者: 徐晓伟's avatar 徐晓伟

go build

上级 f8a3ae00
......@@ -33,3 +33,6 @@ build/
.vscode/
/*.exe
/gitlab-go-windows-*
/gitlab-go-linux-*
/gitlab-go-darwin-*
stages:
- build
- sync
build:golang:1.21:
stage: build
image: golang:1.21
script:
- go version
- go env -w GOPROXY=https://goproxy.cn,direct
- GOOS=windows GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-windows-amd64.exe .
- GOOS=windows GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-windows-arm64.exe .
- GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-linux-amd64 .
- GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-linux-arm64 .
- GOOS=darwin GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-darwin-amd64 .
- GOOS=darwin GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-darwin-arm64 .
- ./gitlab-go-linux-amd64 --version
- ./gitlab-go-linux-amd64
artifacts:
name: "${CI_JOB_NAME}"
expire_in: 1 week
paths:
- gitlab-go-linux-*
build:golang:1.21-alpine3.18:
stage: build
image: golang:1.21-alpine3.18
script:
- go version
- go env -w GOPROXY=https://goproxy.cn,direct
- GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-linux-alpine-amd64 .
- GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-linux-alpine-arm64 .
- ./gitlab-go-linux-alpine-amd64 --version
- ./gitlab-go-linux-alpine-amd64
artifacts:
name: "${CI_JOB_NAME}"
expire_in: 1 week
paths:
- gitlab-go-linux-*
# 嵌入
include:
# 同步代码
......
......@@ -46,5 +46,41 @@ go test -v
### build
```shell
go build main.go
go build
# GOOS=:设置构建的目标操作系统(darwin | freebsd | linux | windows)
# GOARCH=:设置构建的目标操作系统(386 | amd64 | arm | arm64)
# -v:打印编译过程中的详细信息
# -ldflags:设置在编译时传递给链接器的参数
# -trimpath:去掉所有包含 go path 的路径
# -o:指定构建后输出的文件名
```
- Windows
- amd64
```shell
GOOS=windows GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-windows-amd64.exe .
```
- arm64
```shell
GOOS=windows GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-windows-arm64.exe .
```
- Linux
- amd64
```shell
GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-linux-amd64 .
```
- arm64
```shell
GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-linux-arm64 .
```
- Darwin
- amd64
```shell
GOOS=darwin GOARCH=amd64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-darwin-amd64 .
```
- arm64
```shell
GOOS=darwin GOARCH=arm64 go build -v -ldflags "-s -w -buildid=" -trimpath -o gitlab-go-darwin-arm64 .
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册