为何maven-release-plugin创建的Tag无法触发GitLab CI流水线?
问题原因及解决办法
GitLab流水线触发事件未开启
先进入项目的「设置→CI/CD→流水线」页面,找到「流水线触发事件」选项,确认「标签推送」已被勾选。如果未开启该选项,GitLab不会对标签推送事件创建新流水线。CI Runner权限不足
若在GitLab CI流水线内执行maven-release-plugin打标签,Runner默认使用的CI_JOB_TOKEN权限有限,推送标签后可能无法触发流水线。可替换为拥有write_repository权限的个人访问令牌(PAT)执行推送操作,在Maven配置中指定该令牌作为Git的认证信息。GitLab循环触发限制
GitLab默认会阻止同一条流水线中产生的推送操作触发新流水线,避免无限循环。如果是在某条流水线内运行maven-release打标签,该标签推送不会触发新流水线。可通过两种方式解决:- 将生成变更日志、创建版本页面的任务与maven-release任务放在同一条流水线中,打完标签直接执行后续操作,无需等待新流水线;
- 使用外部PAT替代
CI_JOB_TOKEN推送标签,让GitLab判定为外部用户操作,从而触发新流水线。
CI规则存在冲突
确认任务规则中仅设置了if: $CI_COMMIT_TAG,没有其他except或冲突的if条件覆盖该规则,比如同时设置了only: branches这类限制。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

