feat: 自动使用当前分支名作为 Docker 版本号
- deploy.sh 自动获取当前 Git 分支名作为版本号 - 分支名中的 / 自动替换为 -(Docker tag 不支持 /) - docker-compose.yml 启用 build args,从环境变量读取版本号 - 前端页面将显示当前分支名作为版本号 - 如果没有 Git 仓库或获取失败,使用默认值 'dev'
This commit is contained in:
@@ -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
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user