Gitlab 如何防止通过API创建标记或发布时触发CI/CD

Gitlab 如何防止通过API创建标记或发布时触发CI/CD,gitlab,gitlab-ci,gitlab-api,Gitlab,Gitlab Ci,Gitlab Api,我已经通过GitLab CI/CD启用了自动版本生成。我用的是这样的东西: curl--header“Content-Type:application/json”---header“PRIVATE-TOKEN:$GITLAB\u ACCESS\u TOKEN”\ --数据{\ \“name\”:“$GV\u SEMVER\”\ \“标记名称”:“$GV\U SEMVER\”\ \“ref\”:“$CI\u COMMIT\u SHA\”\ \“资产\:{\“链接\”:[\ {\'name\':\'

我已经通过GitLab CI/CD启用了自动版本生成。我用的是这样的东西:

curl--header“Content-Type:application/json”---header“PRIVATE-TOKEN:$GITLAB\u ACCESS\u TOKEN”\
--数据{\
\“name\”:“$GV\u SEMVER\”\
\“标记名称”:“$GV\U SEMVER\”\
\“ref\”:“$CI\u COMMIT\u SHA\”\
\“资产\:{\“链接\”:[\
{\'name\':\'File\',\'url\':\'https://download.example.com/package-$SEMVER.zip\“,\“filepath\”:“/package.zip\”,\“link\u type\”:“other\”}
] } }" \
--请求发布“$CI_API_V4_URL/projects/$CI_PROJECT_ID/releases”
GITLAB\u ACCESS\u令牌
被正确注入,它创建一个标记并生成发布。虽然这很好,但标记的创建再次触发了新管道

我还尝试使用以下方法(它在API请求期间不指定提交SHA):

git标签$GV\u SEMVER
git push--push option=ci.skip--tagshttp://root:$GITLAB_ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git头:$CI_COMMIT_分支
curl--header“Content-Type:application/json”---header“PRIVATE-TOKEN:$GITLAB\u ACCESS\u TOKEN”\
--数据{\
\“name\”:“$GV\u SEMVER\”\
\“标记名称”:“$GV\U SEMVER\”\
\“资产\:{\“链接\”:[\
{\'name\':\'File\',\'url\':\'https://download.example.com/package-$SEMVER.zip\“,\“filepath\”:“/package.zip\”,\“link\u type\”:“other\”}
] } }" \
--请求发布“$CI_API_V4_URL/projects/$CI_PROJECT_ID/releases”

git push
将新标记推送到git,而
ci.skip
选项阻止新的ci构建。但是当我有一个较长的管道时,可能有人推送了数据,
git推送失败。我宁愿使用API,但我需要一种禁用CI构建的方法。

将以下工作流添加到
.gitlab CI.yml
中,以在创建标记时禁用CI/CD:

工作流:
规则:
-如果:$CI_COMMIT_标记
何时:从不
-时间:总是

这将在设置CI_COMMIT_标记时有效地禁用CI/CD(通常是在由于创建标记而触发生成时)。

似乎不支持它。已经有此功能的功能请求: