feat: 自动使用当前分支名作为 Docker 版本号

- deploy.sh 自动获取当前 Git 分支名作为版本号
- 分支名中的 / 自动替换为 -(Docker tag 不支持 /)
- docker-compose.yml 启用 build args,从环境变量读取版本号
- 前端页面将显示当前分支名作为版本号
- 如果没有 Git 仓库或获取失败,使用默认值 'dev'
This commit is contained in:
WrBug
2026-01-01 22:10:21 +08:00
parent 3d05b13298
commit ec06003157
2 changed files with 20 additions and 7 deletions
+15 -2
View File
@@ -156,7 +156,18 @@ deploy() {
# 注意:这里需要手动修改 docker-compose.yml,或者使用环境变量
warn "请确保 docker-compose.yml 中已配置使用 image: wrbug/polyhermes:latest"
else
info "构建 Docker 镜像(本地构建,版本号将显示为 dev)..."
# 获取当前分支名作为版本号
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "dev")
# 如果分支名包含 /,替换为 -(Docker tag 不支持 /
DOCKER_VERSION=$(echo "$CURRENT_BRANCH" | tr '/' '-')
info "构建 Docker 镜像(本地构建,版本号: ${DOCKER_VERSION}..."
# 设置构建参数(通过环境变量传递给 docker-compose.yml
export VERSION=${DOCKER_VERSION}
export GIT_TAG=${DOCKER_VERSION}
export GITHUB_REPO_URL=https://github.com/WrBug/PolyHermes
docker-compose build
fi
@@ -196,7 +207,9 @@ main() {
info "访问地址: http://localhost:${SERVER_PORT:-80}"
echo ""
if [ "$USE_DOCKER_HUB" != "true" ]; then
info "提示:本地构建的版本号显示为 'dev'"
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "dev")
DOCKER_VERSION=$(echo "$CURRENT_BRANCH" | tr '/' '-')
info "提示:本地构建的版本号为当前分支名: ${DOCKER_VERSION}"
info "生产环境推荐使用 Docker Hub 镜像:"
info " ./deploy.sh --use-docker-hub"
info " 或修改 docker-compose.yml 使用 image: wrbug/polyhermes:latest"
+5 -5
View File
@@ -8,11 +8,11 @@ services:
build:
context: .
dockerfile: Dockerfile
# 本地构建时可以传递版本号参数(可选
# args:
# VERSION: ${VERSION:-dev}
# GIT_TAG: ${GIT_TAG:-}
# GITHUB_REPO_URL: https://github.com/WrBug/PolyHermes
# 本地构建时可以传递版本号参数(自动使用当前分支名
args:
VERSION: ${VERSION:-dev}
GIT_TAG: ${GIT_TAG:-${VERSION:-dev}}
GITHUB_REPO_URL: ${GITHUB_REPO_URL:-https://github.com/WrBug/PolyHermes}
container_name: polyhermes
ports:
- "${SERVER_PORT:-80}:80"