【问题标题】:How to define rules in gitlab "stages" so that no need to define separate rules for jobs如何在gitlab“阶段”中定义规则,以便无需为作业定义单独的规则
【发布时间】:2021-10-03 07:14:30
【问题描述】:

假设分阶段定义了 4 个作业。

阶段:

  • 构建
  • 测试
  • 部署
  • 上传

现在测试、部署和上传仅在管道手动触发时运行。我们可以为此在单独的作业上定义规则,但它会是重复的。(不想使用它)

是否可以在“stages”上定义规则,以便一个作业将在自动触发时运行,其余 3 个作业将在管道的手动触发时运行。

【问题讨论】:

    标签: gitlab gitlab-ci jobs git-stage gitlab-pipelines


    【解决方案1】:

    我知道这是一个迟到的答案,但我在遇到这种情况时找到了解决方案。

    使用工作流来控制管道行为。(在 GitLab 12.5 中引入) https://docs.gitlab.com/ee/ci/yaml/index.html#workflow

    workflow:
      rules:
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    

    【讨论】:

      猜你喜欢
      • 2011-11-13
      • 1970-01-01
      • 2022-08-23
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多