diff --git a/build_push.sh b/build_push.sh index 7835a72..98c9d39 100644 --- a/build_push.sh +++ b/build_push.sh @@ -157,8 +157,8 @@ build_and_push() { build_args="-t $SWR_REPO:latest -t $SWR_REPO:$short_sha" track_image "$SWR_REPO:latest" track_image "$SWR_REPO:$short_sha" - elif is_semver_like "$CI_COMMIT_BRANCH"; then - # 语义化分支 → 生成带 v 的多级标签 + elif is_semver_like "$CI_COMMIT_BRANCH" && echo "$CI_COMMIT_BRANCH" | grep -q '\.'; then + # 语义化分支 → 生成带 v 的多级标签; 仅当包含 '.' 时才生成多级标签(如 v1.2.3 → v1.2, v1) TAGS=$(generate_version_tags "$CI_COMMIT_BRANCH" "$SWR_REPO") IFS=',' for tag in $TAGS; do @@ -167,7 +167,7 @@ build_and_push() { done unset IFS else - # 普通分支 → 清洗后使用 + # 普通分支或纯数字(如 12, feature-x)→ 单标签 + sha local safe_branch=$(sanitize_label "$CI_COMMIT_BRANCH") local short_sha=$(echo "$CI_COMMIT_SHA" | cut -c1-8) build_args="-t $SWR_REPO:$safe_branch -t $SWR_REPO:$short_sha"