2023-10-01 22:13:34 +08:00
|
|
|
|
# GitLab Go
|
|
|
|
|
|
|
|
|
|
## 开发命令
|
|
|
|
|
|
|
|
|
|
### get
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
go get -u github.com/urfave/cli/v2
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### mod
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
go mod tidy
|
|
|
|
|
```
|
|
|
|
|
|
2023-10-02 01:56:29 +08:00
|
|
|
|
```shell
|
|
|
|
|
go mod download
|
|
|
|
|
```
|
|
|
|
|
|
2023-10-01 22:13:34 +08:00
|
|
|
|
### run
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
go run main.go
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### run help
|
|
|
|
|
|
2023-10-01 23:14:26 +08:00
|
|
|
|
```shell
|
|
|
|
|
go run main.go help
|
|
|
|
|
```
|
|
|
|
|
|
2023-10-01 22:13:34 +08:00
|
|
|
|
```shell
|
|
|
|
|
$ go run main.go help
|
|
|
|
|
NAME:
|
|
|
|
|
boom - make an explosive entrance
|
|
|
|
|
|
|
|
|
|
USAGE:
|
|
|
|
|
boom [global options] command [command options] [arguments...]
|
|
|
|
|
|
2023-10-01 23:14:26 +08:00
|
|
|
|
VERSION:
|
|
|
|
|
v0.0.1-snapshot
|
|
|
|
|
|
2023-10-01 22:13:34 +08:00
|
|
|
|
COMMANDS:
|
|
|
|
|
help, h Shows a list of commands or help for one command
|
|
|
|
|
|
|
|
|
|
GLOBAL OPTIONS:
|
2023-10-01 23:14:26 +08:00
|
|
|
|
--help, -h show help
|
|
|
|
|
--version, -v print the version
|
2023-10-01 22:13:34 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### test
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
go test -v
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### build
|
|
|
|
|
|
|
|
|
|
```shell
|
2023-10-01 22:37:43 +08:00
|
|
|
|
go build
|
|
|
|
|
# GOOS=:设置构建的目标操作系统(darwin | freebsd | linux | windows)
|
|
|
|
|
# GOARCH=:设置构建的目标操作系统(386 | amd64 | arm | arm64)
|
|
|
|
|
# -v:打印编译过程中的详细信息
|
|
|
|
|
# -ldflags:设置在编译时传递给链接器的参数
|
2023-10-01 23:01:32 +08:00
|
|
|
|
# -ldflags "-s -w -buildid="
|
|
|
|
|
# -s: 删除符号表信息,减小可执行文件的大小。
|
|
|
|
|
# -w: 删除调试信息,使可执行文件在运行时不会打印调试信息。
|
|
|
|
|
# -buildid=: 删除构建ID,使可执行文件在运行时不会打印构建ID。
|
2023-10-01 22:37:43 +08:00
|
|
|
|
# -trimpath:去掉所有包含 go path 的路径
|
|
|
|
|
# -o:指定构建后输出的文件名
|
2023-10-01 22:13:34 +08:00
|
|
|
|
```
|
2023-10-01 22:37:43 +08:00
|
|
|
|
|
|
|
|
|
- Windows
|
|
|
|
|
- amd64
|
|
|
|
|
```shell
|
2023-10-02 04:06:40 +08:00
|
|
|
|
go build -o buildinfo/buildinfo.exe buildinfo/buildinfo.go
|
|
|
|
|
GOOS=windows GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo.exe now) -X main.GitCommitSha=$(buildinfo/buildinfo.exe commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo.exe commitShortSha)" -trimpath -o gitlab-go-windows-amd64.exe .
|
2023-10-01 22:37:43 +08:00
|
|
|
|
```
|
|
|
|
|
- arm64
|
|
|
|
|
```shell
|
2023-10-02 04:06:40 +08:00
|
|
|
|
go build -o buildinfo/buildinfo.exe buildinfo/buildinfo.go
|
|
|
|
|
GOOS=windows GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo.exe now) -X main.GitCommitSha=$(buildinfo/buildinfo.exe commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo.exe commitShortSha)" -trimpath -o gitlab-go-windows-arm64.exe .
|
2023-10-01 22:37:43 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- Linux
|
|
|
|
|
- amd64
|
|
|
|
|
```shell
|
2023-10-02 04:06:40 +08:00
|
|
|
|
go build -o buildinfo/buildinfo buildinfo/buildinfo.go
|
|
|
|
|
GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha)" -trimpath -o gitlab-go-linux-amd64 .
|
2023-10-01 22:37:43 +08:00
|
|
|
|
```
|
|
|
|
|
- arm64
|
|
|
|
|
```shell
|
2023-10-02 04:06:40 +08:00
|
|
|
|
go build -o buildinfo/buildinfo buildinfo/buildinfo.go
|
|
|
|
|
GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha)" -trimpath -o gitlab-go-linux-arm64 .
|
2023-10-01 22:37:43 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- Darwin
|
|
|
|
|
- amd64
|
|
|
|
|
```shell
|
2023-10-02 04:06:40 +08:00
|
|
|
|
go build -o buildinfo/buildinfo buildinfo/buildinfo.go
|
|
|
|
|
GOOS=darwin GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha)" -trimpath -o gitlab-go-darwin-amd64 .
|
2023-10-01 22:37:43 +08:00
|
|
|
|
```
|
|
|
|
|
- arm64
|
|
|
|
|
```shell
|
2023-10-02 04:06:40 +08:00
|
|
|
|
go build -o buildinfo/buildinfo buildinfo/buildinfo.go
|
|
|
|
|
GOOS=darwin GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha)" -trimpath -o gitlab-go-darwin-arm64 .
|
2023-10-01 22:37:43 +08:00
|
|
|
|
```
|