From ec06003157dc36b63353bf78ef8cf78673adcde0 Mon Sep 17 00:00:00 2001 From: WrBug Date: Thu, 1 Jan 2026 22:10:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=87=AA=E5=8A=A8=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E5=88=86=E6=94=AF=E5=90=8D=E4=BD=9C=E4=B8=BA?= =?UTF-8?q?=20Docker=20=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - deploy.sh 自动获取当前 Git 分支名作为版本号 - 分支名中的 / 自动替换为 -(Docker tag 不支持 /) - docker-compose.yml 启用 build args,从环境变量读取版本号 - 前端页面将显示当前分支名作为版本号 - 如果没有 Git 仓库或获取失败,使用默认值 'dev' --- deploy.sh | 17 +++++++++++++++-- docker-compose.yml | 10 +++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/deploy.sh b/deploy.sh index 6fd5506..3191b1e 100755 --- a/deploy.sh +++ b/deploy.sh @@ -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" diff --git a/docker-compose.yml b/docker-compose.yml index 2b7a0a8..d7f94c8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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"