【发布时间】:2020-06-06 15:23:57
【问题描述】:
如何防止在添加 git 标签时触发 gitlab ci 管道?我在本地运行这个命令(而不是在 gitlab-ci 作业中)
git tag -a "xyz"
然后推送标签;这会触发各种管道。我想排除其中一些管道运行。
我正在尝试对来自this 等问题的想法进行变体;该问题仅使用,我想排除,所以我正在尝试除外。那里的答案有两种变体,一种带有 refs 一种没有。
build:
# ... my work here ...
except:
- tags
build:
# ... my work here ...
except:
refs:
- tags
似乎都没有任何效果;我添加了一个标签,构建仍然发生。
我的理解在这里可能完全是错误的,因为 tags 这个词似乎有三种可能的含义,并且在阅读文档或示例时,我并不总是确定哪种含义适用:
- 使用 git tag 应用的 Git 标记
- 用于确定哪些跑步者选择工作的 Gitlab CI 标签
- 提交的 ref 标识符用于通过 REST API 触发管道。这通常是一个分支名称,但也可以是一个 git 标签。
我有兴趣控制在第一种情况下会发生什么。到目前为止,从 cmets 看来,“除了:-tags”与我的情况无关,那么有没有可行的方法?
【问题讨论】:
-
Per docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic 这指的是 git 标签。您还可以在该页面上查看有关 refs 策略的信息。请注意,标记提交将有两个构建;一个用于提交,一个用于标记。
-
谢谢@jonrsharpe。我同意这就是文档所说的“标签”的含义。有什么方法可以防止 git 标签导致这些构建?
-
您是在本地使用
git tag -a TAG,然后是git push origin TAG?或者git tag命令是您的.gitlab-ci.yml工作的一部分? -
@Nicolas Pepinster - 在本地运行并推送,补充说明