Help us shape the future of Go! Take the 2026 Go Developer Survey

version

package
v0.12.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package version 提供编译时版本信息注入和运行时查询。

所有 enjoydream 后端服务共享此包,通过 -ldflags 在编译时注入 git 信息。

注入方式

在 build.sh 或 Makefile 中:

GIT_COMMIT=$(git rev-parse --short HEAD)
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
BUILD_TIME=$(date -u '+%Y-%m-%dT%H:%M:%SZ')
MOD="github.com/oekit/core"
go build -ldflags "-X ${MOD}/version.BuildCommit=${GIT_COMMIT} \
  -X ${MOD}/version.BuildBranch=${GIT_BRANCH} \
  -X ${MOD}/version.BuildTime=${BUILD_TIME}" -o myapp .

服务注册元数据

注册服务时注入构建信息:

nnsc.Register(port, registry.WithMetadata(version.Metadata()))

HTTP 端点

版本信息 HTTP Handler 已拆分到 handler/versionh 包(避免 version 包依赖 Hertz):

h.GET("/buildVersion", versionh.Handler)

导出变量

  • Version: 语义化版本号
  • BuildCommit: Git commit hash
  • BuildBranch: Git 分支名
  • BuildTime: 编译时间
  • StartTime: 进程启动时间

Index

Constants

This section is empty.

Variables

View Source
var (
	Version     = "dev" // 语义化版本,通过 -ldflags "-X .../version.Version=vX.Y.Z" 注入
	BuildCommit = "unknown"
	BuildTime   = "unknown"
	BuildBranch = "unknown"
)

编译时通过 -ldflags 注入,未注入时 Version 为 "dev"(避免把过期版本号误报给注册中心/监控)

View Source
var StartTime = time.Now()

StartTime 记录进程启动时间,包加载时自动初始化。

Functions

func Metadata

func Metadata() map[string]string

Metadata 返回构建版本元数据 map,用于服务实例注册等场景。 典型用法:nnsc.Register(port, registry.WithMetadata(version.Metadata()))

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL