gpt4 book ai didi

GitLab CI-添加标签时避免构建

转载 作者:行者123 更新时间:2023-12-03 15:15:38 27 4
gpt4 key购买 nike

添加git标签时,如何防止gitlab ci管道被触发?我在本地运行此命令(而不是在gitlab-ci作业中)

git tag -a "xyz"

然后推标签这触发了各种管道。我想排除其中一些管道的运行。

我正在尝试从 this之类的问题上提出各种想法;这个问题只使用,我想排除在外,所以我尝试除。答案有两种,一种是 ,另一种是
build:  
# ... my work here ...
except:
- tags


build:
# ... my work here ...
except:
refs:
- tags

两者似乎都没有任何作用;我添加标签,构建仍然会发生。

我的理解在这里可能完全不正确,因为 标签这个单词似乎有三种可能的含义,并且在阅读文档或示例时,我并不总是确定哪个含义适用:
  • 使用 git标签
  • 应用的Git标签
  • 用于确定哪些运行者选择工作的Gitlab CI标签
  • 提交的 ref 标识符,用于通过REST API触发管道。这通常是分支名称,但可以是git标记。

  • 我有兴趣控制第一种情况下的情况。到目前为止,从注释中似乎可以清楚地看出,“除外:-tags”与我的情况无关,那么是否有任何可行的方法?

    最佳答案

    如果您想跳过标签的构建,Except tags正是您应该使用的。

    您需要确保了解commit vs branches vs tags

    为了说明将标签提交推送到gitlab时发生了什么,我做了如下操作:

  • 创建的.gitlab-ci.yml具有以下内容:

  • tests_always_run:
    script:
    - echo I should always execute
    tests_except_tags:
    script:
    - echo I skip tagged triggers
    except:
    - tags
  • 提交更改,标记提交并使用--follow-tags推送以确保标记也传播到服务器:

  • git add .gitlab-ci.yml
    git commit -m 'my great yml with except tags'
    git tag -a "abc" -m "Test tag"
    git push --follow-tags

    说明结果:
    Tagged commit pipeline results

    如果要跳过CI进行选定的提交,则可以使用 git push -o ci.skip,灵感来自 this article

    关于GitLab CI-添加标签时避免构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60351496/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com