26.9:品牌统一(fileshare)+ 版本号改为日期式
- 数据库默认文件 filecodebox.db → fileshare.db(config.go 默认值与全部文档/编排同步)
- Go module filecodebox → fileshare(全部 import 同步,build/vet/test 全绿)
- 应用版本 APP_VERSION 2.5.6 → 26.9(health 接口已验证返回 26.9)
- deploy 编排统一:compose 项目名、Postgres 默认凭据、minio 桶名、env 注释
- JWT issuer、存储临时目录前缀、web 包名同步 fileshare
- CI:镜像 tag 以 APP_VERSION 为唯一版本源,main/tag 推送即发布
${VER} + latest;tag 触发时校验 tag 名与 APP_VERSION 一致,防错版
- 本地开发库文件已改名 fileshare.db(含 -shm/-wal 清理)
This commit is contained in:
@@ -3,7 +3,7 @@ name: Release 镜像
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
tags: ["v*"]
|
||||
tags: ["v*", "26.*", "27.*"]
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
@@ -57,20 +57,21 @@ jobs:
|
||||
- name: 安装 Docker CLI(挂宿主 daemon)
|
||||
run: apk add --no-cache docker-cli buildx >/dev/null
|
||||
|
||||
- name: 计算 tag 与平台
|
||||
- name: 计算 tag(以 APP_VERSION 为唯一版本源)
|
||||
id: meta
|
||||
env:
|
||||
REF: ${{ gitea.ref }}
|
||||
run: |
|
||||
case "$REF" in
|
||||
refs/tags/v*)
|
||||
VER="${REF#refs/tags/v}"
|
||||
echo "tags=${IMAGE}:${VER} ${IMAGE}:latest" >> "$GITHUB_OUTPUT"
|
||||
echo "发布 tag: ${VER} + latest" ;;
|
||||
*)
|
||||
echo "tags=${IMAGE}:latest" >> "$GITHUB_OUTPUT"
|
||||
echo "main 构建: latest" ;;
|
||||
esac
|
||||
VER=$(sed -n 's/.*APP_VERSION = "\(.*\)".*/\1/p' server/cmd/server/main.go | head -1)
|
||||
[ -n "$VER" ] || { echo "无法从 main.go 解析 APP_VERSION" >&2; exit 1; }
|
||||
echo "APP_VERSION=$VER"
|
||||
if [[ "$REF" == refs/tags/* ]]; then
|
||||
# tag 触发:要求 tag 名与 APP_VERSION 一致,防错版发布
|
||||
TAG_VER="${REF#refs/tags/}"
|
||||
TAG_VER="${TAG_VER#v}"
|
||||
[ "$TAG_VER" = "$VER" ] || { echo "tag($TAG_VER) != APP_VERSION($VER),拒绝发布" >&2; exit 1; }
|
||||
fi
|
||||
echo "tags=${IMAGE}:${VER} ${IMAGE}:latest" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: 登录阿里云 ACR
|
||||
env:
|
||||
@@ -99,4 +100,8 @@ jobs:
|
||||
.
|
||||
|
||||
- name: 校验远程 manifest(双架构)
|
||||
run: docker buildx imagetools inspect "${IMAGE}:latest" | grep -E "linux/amd64|linux/arm64"
|
||||
env:
|
||||
VERSION: ${{ steps.meta.outputs.version }}
|
||||
run: |
|
||||
docker buildx imagetools inspect "${IMAGE}:${VERSION}" | grep -E "linux/amd64|linux/arm64"
|
||||
echo "推送完成: ${IMAGE}:${VERSION} + ${IMAGE}:latest"
|
||||
|
||||
Reference in New Issue
Block a user