【问题标题】:Gitlab CI/CD deploy a stage just onceGitlab CI/CD 只部署一个阶段
【发布时间】:2020-12-13 10:14:10
【问题描述】:

有没有办法只执行一次阶段,只在第一次执行管道时

例如,如果我有这个阶段

  • 构建
  • tag_version
  • 测试
  • 部署

我想执行 N 个管道,但下次不执行 'tag_version',第一次执行即可

【问题讨论】:

    标签: continuous-integration gitlab gitlab-ci


    【解决方案1】:

    您可以使用rules: changes,也可以与when: manual 结合使用,以便仅在更改特定文件(例如,Dockerfile)时执行标记。

    https://docs.gitlab.com/ee/ci/yaml/#ruleschanges

    【讨论】:

      【解决方案2】:

      我解决了使用以下规则,捕获推送事件并与我想要标记的标记匹配。这样我的舞台就执行了一次

      .mycondition: &mycondition
        rules:
          - if: '$CI_COMMIT_TAG =~ /^release-v\d+$/ && $CI_PIPELINE_SOURCE == "push"'
            when: always
      

      【讨论】:

        猜你喜欢
        • 2021-11-30
        • 2022-01-11
        • 2021-07-31
        • 2022-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        相关资源
        最近更新 更多