修改:打包脚本,以打包时间作为版本号写入程序包中

This commit is contained in:
2024-09-20 11:24:24 +08:00
parent 04b3113b8a
commit d27d9d6bc3
4 changed files with 68 additions and 35 deletions

37
build.bat Normal file
View File

@@ -0,0 +1,37 @@
@echo off
rem 获取当前日期和时间并格式化为 YYYY.MM.DD-HH.MM.SS
for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value') do set datetime=%%i
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
set hour=%datetime:~8,2%
set minute=%datetime:~10,2%
set second=%datetime:~12,2%
set version=%year%.%month%.%day%-%hour%.%minute%.%second%
rem 删除历史编译文件
del zhub.sh zhub.exe zhub
rem Linux
set GOOS=linux
set GOARCH=amd64
go build -o zhub.sh -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub.sh
rem Windows
set GOOS=windows
set GOARCH=amd64
go build -o zhub.exe -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub.exe
rem Mac
set GOOS=darwin
set GOARCH=amd64
go build -o zhub -ldflags "-s -w -X 'zhub/internal/monitor.Version=%version%'"
upx -9 zhub
move /Y zhub.sh ./tmp/zhub/
move /Y zhub.exe ./tmp/zhub/
move /Y zhub ./tmp/zhub/

View File

@@ -8,6 +8,9 @@ import (
var r = gin.Default() var r = gin.Default()
// Version 时间格式化 YYYY.MM.DD-HH.MM.SS
var Version string
func init() { func init() {
// 1.日志文件 定期分割归档 // 1.日志文件 定期分割归档
@@ -26,6 +29,11 @@ func StartWatch() {
zbus.Bus.Clearup() zbus.Bus.Clearup()
c.JSON(http.StatusOK, "+OK") c.JSON(http.StatusOK, "+OK")
}) })
r.GET("/_/version", func(c *gin.Context) {
c.JSON(http.StatusOK, map[string]string{
"version": Version,
})
})
r.GET("/timer/reload", func(c *gin.Context) { r.GET("/timer/reload", func(c *gin.Context) {
zbus.Bus.ReloadTimer() zbus.Bus.ReloadTimer()

31
main.go
View File

@@ -2,7 +2,9 @@ package main
import ( import (
"flag" "flag"
"fmt"
"log" "log"
"os"
"zhub/cmd" "zhub/cmd"
"zhub/internal/config" "zhub/internal/config"
"zhub/internal/monitor" "zhub/internal/monitor"
@@ -10,15 +12,28 @@ import (
) )
func main() { func main() {
var isCliMode bool // 是否以客户端模式运行的标志 // 命令查询版本号
var rcmd string // 客户端模式下运行的命令 versionFlag := flag.Bool("version", false, "Display the version")
flag.BoolVar(&isCliMode, "cli", false, "run as client mode") // 定义 cli 参数 vFlag := flag.Bool("v", false, "Display the version")
flag.StringVar(&rcmd, "r", "", "run as client mode") // 定义 r 参数 VFlag := flag.Bool("V", false, "Display the version")
flag.Parse() // 解析命令行参数
isCliMode := flag.Bool("cli", false, "Run as client mode") // 客户端模式参数
rcmd := flag.String("r", "", "Run command in client mode") // 客户端命令参数
// 解析命令行参数
flag.Parse()
// 检查是否有版本参数, 如果有则输出版本号并退出
if *versionFlag || *vFlag || *VFlag {
fmt.Printf("Version: %s\n", monitor.Version)
os.Exit(0) // 输出后退出
}
conf := config.ReadConfig() // 读取配置文件 conf := config.ReadConfig() // 读取配置文件
addr := conf.Service.Addr // 获取服务地址 addr := conf.Service.Addr // 获取服务地址
config.InitLog(conf.Log) // 初始化日志配置 config.InitLog(conf.Log) // 初始化日志配置
// 输出版本号
log.Println("ZHub version:", monitor.Version)
{ {
/* /*
@@ -29,7 +44,7 @@ func main() {
}*/ }*/
} }
if rcmd != "" { // 如果指定了客户端命令 if *rcmd != "" { // 如果指定了客户端命令
adminToken, err := zbus.AuthManager.AdminToken() // 认证信息 adminToken, err := zbus.AuthManager.AdminToken() // 认证信息
if err != nil { if err != nil {
log.Fatal(err) // Configuration error, stop the client from running. log.Fatal(err) // Configuration error, stop the client from running.
@@ -45,7 +60,7 @@ func main() {
return return
} }
defer cli.Close() // 延迟关闭客户端连接 defer cli.Close() // 延迟关闭客户端连接
switch rcmd { switch *rcmd {
case "timer": case "timer":
cli.Cmd("reload-timer") cli.Cmd("reload-timer")
case "shutdown", "stop": case "shutdown", "stop":
@@ -53,7 +68,7 @@ func main() {
} }
return return
} }
if isCliMode { if *isCliMode {
cmd.ClientRun(addr) // 客户端运行 cmd.ClientRun(addr) // 客户端运行
} else { } else {
go monitor.StartWatch() // 启动监控协程 go monitor.StartWatch() // 启动监控协程

27
pkg.bat
View File

@@ -1,27 +0,0 @@
@echo off
rem 删除历史编译文件
del zhub.sh zhub.exe zhub
rem Linux
set GOOS=linux
set GOARCH=amd64
go build -o zhub.sh -ldflags "-s -w"
upx -9 zhub.sh
rem Windows
set GOOS=windows
set GOARCH=amd64
go build -o zhub.exe -ldflags "-s -w"
upx -9 zhub.exe
rem Mac
set GOOS=darwin
set GOARCH=amd64
go build -o zhub -ldflags "-s -w"
upx -9 zhub
move /Y zhub.sh ./tmp/zhub/
move /Y zhub.exe ./tmp/zhub/
move /Y zhub ./tmp/zhub/