grafana的版本号是放到前端package.json文件里的,相当于前端和后台只有一个地方维护版本号,后台在编译时,通过go build -ldflags -X 注入版本号信息 代码语言:javascript 代码运行次数:0 运行 AI代码解释 go build-ldflags"-w -X main.version=8.1.3 -X main.commit=unknown-dev -X main.buildstamp=1631418042 -...
追加一条:C:\Program Files\Git\bin安装go 打开环境变量 添加GOPATH 添加到path 检验 在命令指示符...
# download dependencies and build RUN go mod download RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-s -w" -o /go/b
ldflags 用法:【路径,非必需,除非你有目录层次】包名.变量 [path]packege.value go build -ldflags "-X other.VERSION=1.0.0 -X gpxj/other.VERSION=1.0.3 -X main.VERSION=1.0.0 -X 'main.BUILD_TIME=`date`' -X 'main.GO_VERSION=`go version`'" -v -o "server-${VERSION}-${COMMIT:0:7}...
golang在编译时,通过加入- ldflags的参数可以替换编译的二进制包中的文件内容。例如替换版本号,构建日期,Git commit等信息时很方便。 例如替换main包中的变量如下: package main var version="N/A" func main() { fmt.Println(version) } 编译时加上参数:go build -a -ldflags "-X main.version=1.2" -o...
为了对运行程序进行版本追踪,避免各个版本的服务程序混淆,通常的做法为在go build编译的时候程序注入 版本标志、编译时间、当前分支、当前 Tag、当前的提交号等信息,让go程序在运行的时候就可以打印编译时候的参数情况。 go build -ldflags命令 ldflags简介
case 1:不注入变量$ go build -o main main.go $ ./main 0.0.1 1 2 3case 2:注入变量$ go build -ldflags "-X main.Version=0.0.9" -o main main.go $ ./main 0.0.9 1 2 3可以观察到,在编译构建可执行文件时,通过命令,注入main包的Version变量值。
ldflags 代表链接器标志,用于将标志传递给底层链接器。根据文档:
BUILD_TIME string GO_VERSION string ) func main() { fmt.Printf("%s\n%s\n%s\n", VERSION, BUILD_TIME, GO_VERSION) } 用如下命令编译,注意因为date和go version的输出有空格,所以main.BUILD_TIME和main.GO_VERSION必须使用引号括起来 go build -ldflags "-X main.VERSION=1.0.0 -X 'main.BUILD_TI...
go build指定文件:go build main.go,构建指定文件,生成可执行文件,文件名为main。 go build指定目录:go build ./,构建指定目录下的main包,生成可执行文件,文件名为当前目录名。 go build缩小可执行文件的体积。go build -ldflags "-s -w",去掉符号表和调试信息,缩小可执行文件的体积。-s去掉符号表,在程序pa...