diff --git a/build_push.sh b/build_push.sh index fbb4be7..269ae52 100644 --- a/build_push.sh +++ b/build_push.sh @@ -87,7 +87,19 @@ build_and_push() { # 使用 cut 截取前8位字符 IMAGE_TAG=$(echo "${CI_COMMIT_SHA:-}" | cut -c1-8) fi - + + local IMAGE_TAG="" + if [ -n "${CI_COMMIT_TAG:-}" ]; then + # 来自 tag 推送 + IMAGE_TAG="${CI_COMMIT_TAG}" + elif [ -n "${CI_COMMIT_BRANCH:-}" ] && [ "${CI_COMMIT_BRANCH}" != "main" ] && [ "${CI_COMMIT_BRANCH}" != "master" ]; then + # 来自非主干分支推送 → 使用分支名 + IMAGE_TAG="${CI_COMMIT_BRANCH}" + else + # main/master 分支或无法识别 → 使用 latest + IMAGE_TAG="latest" + fi + # 确定传入 Dockerfile 的 APP_VER 参数 local APP_VER_ARG="" if [ "${CI_COMMIT_BRANCH:-}" = "main" ] || [ "${CI_COMMIT_BRANCH:-}" = "master" ]; then