diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 5836c38b..1bd052a1 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -2,12 +2,8 @@ name: Build and Push Docker Images on: push: - branches: [main] - paths: - - 'backend/**' - - 'frontend/**' - - 'docker/**' - - '.github/workflows/**' + tags: + - 'v*' # 只在推送 v 开头的 tag 时触发(如 v1.0.0) workflow_dispatch: # 手动触发 # 并发控制:同一分支只保留最新的构建,取消之前正在运行的 diff --git a/docker-push.sh b/docker-push.sh index 87e48c61..be8eadf0 100755 --- a/docker-push.sh +++ b/docker-push.sh @@ -188,11 +188,23 @@ main() { echo "==========================================" echo "" log_info "用户: $DOCKER_USER" - log_info "版本: $VERSION" + log_warn "版本: ${VERSION}" log_info "推送: $PUSH" [ -n "$PLATFORM" ] && log_info "平台: $PLATFORM" echo "" + # 确认版本号,防止误覆盖 + if [ "$PUSH" = "yes" ]; then + echo -e "${YELLOW}[!] 请确认版本号 ${VERSION} 是否正确${NC}" + echo -e "${YELLOW} 如需修改,请编辑 VERSION 文件${NC}" + read -p "确认推送?(y/N) " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + log_info "已取消" + exit 0 + fi + fi + check_docker_login # 切换到项目根目录