修改:打包脚本,以打包时间作为版本号写入程序包中
This commit is contained in:
37
build.bat
Normal file
37
build.bat
Normal 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/
|
||||||
@@ -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
31
main.go
@@ -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
27
pkg.bat
@@ -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/
|
|
||||||
Reference in New Issue
Block a user