ci:优化自动打标签流程

- 更新 Alpine 镜像为带有 Git 的版本
-重新组织脚本步骤,提高流程清晰度
- 添加删除本地 tag 和拉取远程 tag 及 main 分支的步骤
- 优化变量获取方式,确保获取到正确的 main commit
This commit is contained in:
gewuyou 2025-08-13 20:10:12 +08:00
parent e92a53b194
commit be03204a73

View File

@ -13,14 +13,21 @@ before_script:
# 🏷️ 自动打标签 # 🏷️ 自动打标签
tag: tag:
stage: tag stage: tag
image: alpine:latest image:
name: alpine/git:latest
entrypoint: [ "" ]
rules: rules:
- if: '$CI_COMMIT_BRANCH == "main" && $CI_COMMIT_MESSAGE !~ /ci/i' - if: '$CI_COMMIT_BRANCH == "main" && $CI_COMMIT_MESSAGE !~ /ci/i'
script: script:
- set -euo pipefail
- apk add --no-cache git
- git config --global user.email "pipeline@${GITLAB_URL}" - git config --global user.email "pipeline@${GITLAB_URL}"
- git config --global user.name "Project Pipeline Bot" - git config --global user.name "Project Pipeline Bot"
- echo "🧹 删除所有本地 tag..."
- git tag -l | xargs -r git tag -d || true
- echo "🔍 拉取远程 tag 和 main"
- git fetch --tags --force --prune
- git fetch origin main --force
- MAIN_COMMIT=$(git rev-parse origin/main)
- echo "🔗 当前 main commit -> $MAIN_COMMIT"
- git fetch --tags - git fetch --tags
- git fetch origin main - git fetch origin main
- MAIN_COMMIT=$(git rev-parse origin/main) - MAIN_COMMIT=$(git rev-parse origin/main)