增加版本显示
This commit is contained in:
@@ -7,9 +7,23 @@ LOG_PATH="/var/log/$APP_NAME"
|
||||
|
||||
echo "正在安装 $APP_NAME..."
|
||||
|
||||
# 获取 git 版本信息
|
||||
GIT_VERSION=$(git describe --tags --always --dirty 2>/dev/null || git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
GIT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||||
BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
echo " Git Version : $GIT_VERSION"
|
||||
echo " Git Commit : $GIT_COMMIT"
|
||||
echo " Build Time : $BUILD_TIME"
|
||||
|
||||
LDFLAGS="-s -w"
|
||||
LDFLAGS="$LDFLAGS -X main.GitVersion=$GIT_VERSION"
|
||||
LDFLAGS="$LDFLAGS -X main.GitCommit=$GIT_COMMIT"
|
||||
LDFLAGS="$LDFLAGS -X main.BuildTime=$BUILD_TIME"
|
||||
|
||||
# 编译应用
|
||||
echo "编译应用..."
|
||||
CGO_ENABLED=0 GOOS=linux go build -o $APP_NAME -ldflags="-s -w" main.go
|
||||
CGO_ENABLED=0 GOOS=linux go build -o $APP_NAME -ldflags="$LDFLAGS" main.go
|
||||
|
||||
# 先停止服务
|
||||
sudo systemctl stop $APP_NAME
|
||||
|
||||
@@ -12,6 +12,13 @@ import (
|
||||
"github.com/goccy/go-yaml"
|
||||
)
|
||||
|
||||
// 由 install.sh 编译时通过 -ldflags -X 注入
|
||||
var (
|
||||
GitVersion = "dev"
|
||||
GitCommit = "unknown"
|
||||
BuildTime = "unknown"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
fmt.Println("OPS Backend Service started")
|
||||
@@ -101,6 +108,11 @@ func main() {
|
||||
c.Abort()
|
||||
})
|
||||
|
||||
// 将编译注入的版本信息传给 routers 包
|
||||
routers.GitVersion = GitVersion
|
||||
routers.GitCommit = GitCommit
|
||||
routers.BuildTime = BuildTime
|
||||
|
||||
// API路由
|
||||
routers.ApiRoot(r.Group("/api"))
|
||||
|
||||
|
||||
@@ -10,6 +10,13 @@ import (
|
||||
|
||||
var ErrorCode map[string]interface{}
|
||||
|
||||
// 版本信息,由 main.go 在启动前赋值(值来自 -ldflags 注入)
|
||||
var (
|
||||
GitVersion = "dev"
|
||||
GitCommit = "unknown"
|
||||
BuildTime = "unknown"
|
||||
)
|
||||
|
||||
func init() {
|
||||
//读取默认配置
|
||||
fmt.Println("尝试读取错误码文件")
|
||||
@@ -60,6 +67,9 @@ func ApiRoot(r *gin.RouterGroup) {
|
||||
r.GET("/", func(ctx *gin.Context) {
|
||||
ReturnJson(ctx, "apiOK", gin.H{
|
||||
"isOpsApiRoot": true,
|
||||
"version": GitVersion,
|
||||
"gitCommit": GitCommit,
|
||||
"buildTime": BuildTime,
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user