You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI:如何结合rules与develop分支触发所有任务?

解决GitLab CI中develop分支始终触发所有Trigger任务的配置方法

你只需要给每个trigger任务的rules数组新增一条分支匹配规则,并且放在原有changes规则的前面(GitLab CI的rules是按顺序匹配,匹配到第一条符合规则就停止判断)。修改后的完整配置如下:

stages:
  - triggers

# Trigger 1
trigger_1:
  stage: triggers
  trigger:
    include:
      - local: path/to/1/.gitlab-ci.yml
  rules:
    - if: '$CI_COMMIT_BRANCH == "develop"'
      when: always
    - changes:
        - path/to/1/*

# Trigger 2
trigger_2:
  stage: triggers
  trigger:
    include:
      - local: path/to/2/.gitlab-ci.yml
  rules:
    - if: '$CI_COMMIT_BRANCH == "develop"'
      when: always
    - changes:
        - path/to/2/*

配置说明:

  • if: '$CI_COMMIT_BRANCH == "develop"':判断当前构建的分支是否为develop
  • when: always:只要分支匹配develop,就强制触发该任务,不受文件变更条件影响
  • 原有changes规则保留:当分支不是develop时,仅在指定路径文件发生变更时才触发任务

这样就实现了需求:develop分支下所有trigger任务都会自动触发,其他分支则保持原有的文件变更触发逻辑。

内容的提问来源于stack exchange,提问作者maciekozak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:57:40