- 在api路由中添加/version接口用于显示程序版本信息 - 集成全局Version变量用于版本号管理 - 修改Dockerfile支持版本号注入构建参数 - 更新开发环境部署工作流添加版本信息构建 - 更新生产环境部署工作流添加版本信息构建 - 实现在版本接口中展示程序版本和Gin框架版本
This commit is contained in:
@@ -11,7 +11,11 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 构建Docker镜像
|
- name: 构建Docker镜像
|
||||||
run: docker build -t dypid:latest .
|
run: |
|
||||||
|
set -x
|
||||||
|
git_hash=$(git rev-parse --short "$GITHUB_SHA")
|
||||||
|
build_date=$(TZ=Asia/Shanghai date +"%Y%m%d%H%M")
|
||||||
|
docker build --build-arg VERSION="dev - $build_date - $git_hash" -t dypid:latest .
|
||||||
|
|
||||||
- name: 导出镜像
|
- name: 导出镜像
|
||||||
run: mkdir release && docker save -o release/dypid.tar dypid:latest && docker rmi dypid:latest
|
run: mkdir release && docker save -o release/dypid.tar dypid:latest && docker rmi dypid:latest
|
||||||
|
|||||||
@@ -12,7 +12,11 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 构建Docker镜像
|
- name: 构建Docker镜像
|
||||||
run: docker build -t dypid:latest .
|
run: |
|
||||||
|
set -x
|
||||||
|
git_hash=$(git rev-parse --short "$GITHUB_SHA")
|
||||||
|
build_date=$(TZ=Asia/Shanghai date +"%Y%m%d%H%M")
|
||||||
|
docker build --build-arg VERSION="release - $build_date - $git_hash" -t dypid:latest .
|
||||||
|
|
||||||
- name: 导出镜像
|
- name: 导出镜像
|
||||||
run: mkdir release && docker save -o release/dypid.tar dypid:latest && docker rmi dypid:latest
|
run: mkdir release && docker save -o release/dypid.tar dypid:latest && docker rmi dypid:latest
|
||||||
|
|||||||
+5
-1
@@ -15,9 +15,13 @@ WORKDIR /build
|
|||||||
COPY . .
|
COPY . .
|
||||||
COPY --from=webBuilder /build/dist ./web/dist
|
COPY --from=webBuilder /build/dist ./web/dist
|
||||||
|
|
||||||
|
ARG VERSION
|
||||||
|
|
||||||
RUN go env -w CGO_ENABLED=0 \
|
RUN go env -w CGO_ENABLED=0 \
|
||||||
&& go mod tidy \
|
&& go mod tidy \
|
||||||
&& go build -o dypid
|
&& go build \
|
||||||
|
-ldflags="-s -w -X 'global.Version=$VERSION'" \
|
||||||
|
-o dypid
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"dypid/global"
|
||||||
"dypid/internal/controller"
|
"dypid/internal/controller"
|
||||||
"embed"
|
"embed"
|
||||||
|
"fmt"
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
@@ -15,6 +17,9 @@ func RegRoutes(r *gin.Engine) {
|
|||||||
g.GET("/test", func(context *gin.Context) {
|
g.GET("/test", func(context *gin.Context) {
|
||||||
context.String(http.StatusOK, "ok")
|
context.String(http.StatusOK, "ok")
|
||||||
})
|
})
|
||||||
|
g.GET("/version", func(context *gin.Context) {
|
||||||
|
context.String(http.StatusOK, fmt.Sprintf("程序版本: %s\nGin: %s", global.Version, gin.Version))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
g.GET("/token", controller.ListTokenHandler) //获取token列表
|
g.GET("/token", controller.ListTokenHandler) //获取token列表
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ import (
|
|||||||
|
|
||||||
var RDB *redis.Client
|
var RDB *redis.Client
|
||||||
var RCtx = context.Background()
|
var RCtx = context.Background()
|
||||||
|
|
||||||
|
var Version = "dev"
|
||||||
|
|||||||
Reference in New Issue
Block a user