更新时间:

#go build ldflags

#!/bin/bash
# Exit the script if an error happens
set -e

APP_NAME=$1
APP_VERSION=v$(cat version)
BUILD_VERSION=$(git log -1 --oneline)
BUILD_TIME=$(date "+%FT%T%z")
GIT_REVISION=$(git rev-parse --short HEAD)
GIT_BRANCH=$(git name-rev --name-only HEAD)
GO_VERSION=$(go version)


go build -ldflags " \
	-X 'main.AppName=${APP_NAME}' 			\
	-X 'main.AppVersion=${APP_VERSION}'     \
	-X 'main.BuildVersion=${BUILD_VERSION//\'/_}' \
	-X 'main.BuildTime=${BUILD_TIME}'       \
	-X 'main.GitRevision=${GIT_REVISION}'   \
	-X 'main.GitBranch=${GIT_BRANCH}'       \
	-X 'main.GoVersion=${GO_VERSION}'       \
	" -o $APP_NAME

zinx 然后编译的时候,通过链接选项 -X 来动态传入xx信息:

其他: https://ms2008.github.io/2018/10/08/golang-build-version/