【问题标题】:Gitlab-ci: Run CI job with rules, but use a definition to avoid CI run for tagsGitlab-ci:使用规则运行 CI 作业,但使用定义来避免为标签运行 CI
【发布时间】:2021-12-17 20:59:14
【问题描述】:

我在我的舞台上使用规则方法。但是使用规则方法,我不想为标签触发 CI 运行。 我需要找到一种方法来避免像except: - tags 这样的标签。不幸的是,除了不遵守规则。很快我该如何避免呢?

我在我的stage中使用了这个sn-p但是它不起作用,它仍然在创建标签后触发管道。

    - if: '$CI_COMMIT_TAG'
      when: never

这是我的主要部署阶段:

deploy:
  stage: deployment
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $sample == "one"'
      when: manual
    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
      when: never
    - if: '$CI_COMMIT_TAG'
      when: never
    - if: '$CI_COMMIT_BRANCH && $sample == "one"'
      when: manual
  script:
    - ...
    - ...

【问题讨论】:

    标签: gitlab gitlab-ci


    【解决方案1】:

    我解决了这个问题。只是我在规则末尾添加了- when: never。作为一个单独的规则,它将阻止所有不同的触发案例。

    deploy:
      stage: deployment
      rules:
        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $sync == "one"'
          when: manual
        - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
          when: never
        - if: '$CI_COMMIT_TAG'
          when: never
        - if: '$CI_COMMIT_BRANCH && $sync == "false"'
          when: manual
        - when: never
      script:
        - ...
        - ...
    

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2021-05-05
      • 2018-03-09
      • 2021-03-08
      • 2019-11-15
      • 2017-04-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      相关资源
      最近更新 更多