🚧 打包产物携带版本相关信息:补充
This commit is contained in:
parent
11936ebc16
commit
37212861d7
|
@ -8,14 +8,15 @@ build:golang:1.21:
|
|||
script:
|
||||
- go version
|
||||
- go env -w GOPROXY=https://goproxy.cn,direct
|
||||
#- go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
|
||||
- go mod download
|
||||
- go build -o buildinfo/buildinfo buildinfo/buildinfo.go
|
||||
- GOOS=windows 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-windows-amd64.exe .
|
||||
- GOOS=windows 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-windows-arm64.exe .
|
||||
- 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 .
|
||||
- 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 .
|
||||
- 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 .
|
||||
- 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 .
|
||||
- GOOS=windows GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-windows-amd64.exe .
|
||||
- GOOS=windows GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-windows-arm64.exe .
|
||||
- GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-amd64 .
|
||||
- GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-arm64 .
|
||||
- GOOS=darwin GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-darwin-amd64 .
|
||||
- GOOS=darwin GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-darwin-arm64 .
|
||||
- ./gitlab-go-linux-amd64 --version
|
||||
- ./gitlab-go-linux-amd64
|
||||
artifacts:
|
||||
|
@ -32,9 +33,11 @@ build:golang:1.21-alpine3.18:
|
|||
script:
|
||||
- go version
|
||||
- go env -w GOPROXY=https://goproxy.cn,direct
|
||||
#- go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
|
||||
- go mod download
|
||||
- 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-alpine-amd64 .
|
||||
- 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-alpine-arm64 .
|
||||
- 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.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-alpine-amd64 .
|
||||
- GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-alpine-arm64 .
|
||||
- ./gitlab-go-linux-alpine-amd64 --version
|
||||
- ./gitlab-go-linux-alpine-amd64
|
||||
artifacts:
|
||||
|
|
16
README.md
16
README.md
|
@ -5,7 +5,11 @@
|
|||
### get
|
||||
|
||||
```shell
|
||||
go env -w GOPROXY=https://goproxy.cn,direct
|
||||
# go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
|
||||
go get -u github.com/urfave/cli/v2
|
||||
go get -u github.com/xuxiaowei-com-cn/git-go@main
|
||||
go get -u gopkg.in/yaml.v3
|
||||
```
|
||||
|
||||
### mod
|
||||
|
@ -75,34 +79,34 @@ go build
|
|||
- amd64
|
||||
```shell
|
||||
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 .
|
||||
GOOS=windows GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo.exe now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo.exe commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo.exe commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo.exe commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo.exe commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo.exe commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo.exe commitTag) -X main.GoVersion=$(buildinfo/buildinfo.exe goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-windows-amd64.exe .
|
||||
```
|
||||
- arm64
|
||||
```shell
|
||||
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 .
|
||||
GOOS=windows GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo.exe now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo.exe commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo.exe commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo.exe commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo.exe commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo.exe commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo.exe commitTag) -X main.GoVersion=$(buildinfo/buildinfo.exe goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-windows-arm64.exe .
|
||||
```
|
||||
|
||||
- Linux
|
||||
- amd64
|
||||
```shell
|
||||
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 .
|
||||
GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-amd64 .
|
||||
```
|
||||
- arm64
|
||||
```shell
|
||||
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 .
|
||||
GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-arm64 .
|
||||
```
|
||||
|
||||
- Darwin
|
||||
- amd64
|
||||
```shell
|
||||
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 .
|
||||
GOOS=darwin GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-darwin-amd64 .
|
||||
```
|
||||
- arm64
|
||||
```shell
|
||||
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 .
|
||||
GOOS=darwin GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState= -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform= -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-darwin-arm64 .
|
||||
```
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
### get
|
||||
|
||||
```shell
|
||||
go env -w GOPROXY=https://goproxy.cn,direct
|
||||
# go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
|
||||
go get -u github.com/xuxiaowei-com-cn/git-go@main
|
||||
```
|
||||
|
||||
|
|
|
@ -2,10 +2,11 @@ module github.com/xuxiaowei-com-cn/gitlab-go/buildinfo
|
|||
|
||||
go 1.21
|
||||
|
||||
require github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001205147-bef26cda2896
|
||||
|
||||
require (
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/urfave/cli/v2 v2.25.7 // indirect
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001193911-b318d3b9cc52 // indirect
|
||||
)
|
||||
|
|
|
@ -6,5 +6,7 @@ github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs=
|
|||
github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001193911-b318d3b9cc52 h1:EhXlQJIv3ESDzQkKyiYaLPYoiAITyHMHsXRMWCbaG+8=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001193911-b318d3b9cc52/go.mod h1:ezofuagCXxsADJ8ndUGJQorjzrG9HV9t0A6PM+/LL68=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001205147-bef26cda2896 h1:Wptdh9GFp3O3aCepCHoJtrUizG9cMC5XCbSj9tYO7ZY=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001205147-bef26cda2896/go.mod h1:ezofuagCXxsADJ8ndUGJQorjzrG9HV9t0A6PM+/LL68=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
7
go.mod
7
go.mod
|
@ -2,11 +2,14 @@ module github.com/xuxiaowei-com-cn/gitlab-go
|
|||
|
||||
go 1.21
|
||||
|
||||
require github.com/urfave/cli/v2 v2.25.7
|
||||
require (
|
||||
github.com/urfave/cli/v2 v2.25.7
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001205147-bef26cda2896
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001193911-b318d3b9cc52 // indirect
|
||||
)
|
||||
|
|
8
go.sum
8
go.sum
|
@ -6,5 +6,9 @@ github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs=
|
|||
github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001193911-b318d3b9cc52 h1:EhXlQJIv3ESDzQkKyiYaLPYoiAITyHMHsXRMWCbaG+8=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001193911-b318d3b9cc52/go.mod h1:ezofuagCXxsADJ8ndUGJQorjzrG9HV9t0A6PM+/LL68=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001205147-bef26cda2896 h1:Wptdh9GFp3O3aCepCHoJtrUizG9cMC5XCbSj9tYO7ZY=
|
||||
github.com/xuxiaowei-com-cn/git-go v0.0.0-20231001205147-bef26cda2896/go.mod h1:ezofuagCXxsADJ8ndUGJQorjzrG9HV9t0A6PM+/LL68=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
84
main.go
84
main.go
|
@ -2,27 +2,50 @@ package main
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/xuxiaowei-com-cn/git-go/buildinfo"
|
||||
"gopkg.in/yaml.v3"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
var (
|
||||
BuildDate string // 2023-07-19T12:20:54Z
|
||||
GitCommitSha string // fa3d7990104d7c1f16943a67f11b154b71f6a132
|
||||
GitCommitShortSha string // fa3d7990
|
||||
GitVersion = "dev" // v1.27.4
|
||||
const (
|
||||
Name = "git-go"
|
||||
OrganizationName = "徐晓伟工作室"
|
||||
OrganizationUrl = "http://xuxiaowei.com.cn"
|
||||
OrganizationEmail = "xuxiaowei@xuxiaowei.com.cn"
|
||||
)
|
||||
|
||||
var (
|
||||
BuildDate string // 构建时间,如:2023-07-19T12:20:54Z
|
||||
Compiler string // 编译器,如:gc
|
||||
GitCommitBranch string // 提交分支名称
|
||||
GitCommitSha string // 项目为其构建的提交修订 fa3d7990104d7c1f16943a67f11b154b71f6a132
|
||||
GitCommitShortSha string // 项目为其构建的提交修订的前八个字符 fa3d7990
|
||||
GitCommitTag string // 提交标签名称
|
||||
GitCommitTimestamp string // ISO 8601 格式的提交时间戳,如:2023-10-02T00:29:17+08:00
|
||||
GitTreeState string // clean
|
||||
GitVersion string // git 版本号,如:v1.27.4
|
||||
GoVersion string // go 版本号,如:go1.20.6
|
||||
Major string // 主版本,如:1
|
||||
Minor string // 次版本,如:27
|
||||
Revision string // 修订版本,如:4
|
||||
Platform string // 平台,如:linux/amd64
|
||||
CiPipelineId string // 流水线,如:ID8754
|
||||
CiJobId string // 作业ID,如:14468
|
||||
)
|
||||
|
||||
func init() {
|
||||
if GitVersion == "" {
|
||||
GitVersion = "dev"
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Printf("BuildDate: %s\n", BuildDate)
|
||||
fmt.Printf("GitCommitSha: %s\n", GitCommitSha)
|
||||
fmt.Printf("GitCommitShortSha: %s\n", GitCommitShortSha)
|
||||
fmt.Printf("GitVersion: %s\n", GitVersion)
|
||||
app := &cli.App{
|
||||
Name: "boom",
|
||||
Version: GitVersion,
|
||||
Version: versionInfo(),
|
||||
Usage: "make an explosive entrance",
|
||||
Action: func(*cli.Context) error {
|
||||
fmt.Println("boom! I say!")
|
||||
|
@ -34,3 +57,44 @@ func main() {
|
|||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func versionInfo() string {
|
||||
var info = buildinfo.Version{
|
||||
Name: Name,
|
||||
BuildVersion: buildinfo.BuildVersion{
|
||||
BuildDate: BuildDate,
|
||||
Compiler: Compiler,
|
||||
GitCommitSha: GitCommitSha,
|
||||
GitCommitShortSha: GitCommitShortSha,
|
||||
GitCommitTag: GitCommitTag,
|
||||
GitCommitTimestamp: GitCommitTimestamp,
|
||||
GitCommitBranch: GitCommitBranch,
|
||||
GitTreeState: GitTreeState,
|
||||
GitVersion: GitVersion,
|
||||
GoVersion: GoVersion,
|
||||
Major: Major,
|
||||
Minor: Minor,
|
||||
Revision: Revision,
|
||||
Platform: Platform,
|
||||
CiPipelineId: CiPipelineId,
|
||||
CiJobId: CiJobId,
|
||||
},
|
||||
Organization: buildinfo.Organization{
|
||||
Name: OrganizationName,
|
||||
Url: OrganizationUrl,
|
||||
Email: OrganizationEmail,
|
||||
},
|
||||
}
|
||||
|
||||
if len(os.Args) > 1 && os.Args[1] == "--version" {
|
||||
yamlData, err := yaml.Marshal(info)
|
||||
if err != nil {
|
||||
fmt.Println("版本信息无法转换为 YAML 格式:", err)
|
||||
return ""
|
||||
}
|
||||
|
||||
return string(yamlData)
|
||||
}
|
||||
|
||||
return info.BuildVersion.GitVersion
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue