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

GitLab CI手动触发流水线无视规则执行作业问题咨询

问题解答

1. 手动触发流水线时作业执行是默认行为吗?

是的,这是GitLab CI的默认行为。当手动触发流水线时,rules:changes规则会被忽略,GitLab会默认运行所有未明确排除手动触发场景的作业。

2. 需要添加额外规则吗?

需要。要实现「仅FILEBASE目录文件变更时自动执行,手动触发时不执行」的需求,需在rules中添加if条件,明确限制只有非手动触发的流水线才检查文件变更。

修改后的作业配置如下:

stage: build
script:
  - echo "Building web"
rules:
  - if: '$CI_PIPELINE_SOURCE != "web"'
    changes: [ FILEBASE/**/* ]

规则说明:

  • $CI_PIPELINE_SOURCE != "web":CI_PIPELINE_SOURCE是GitLab内置变量,通过网页手动触发流水线时,该变量值为web。添加此条件后,手动触发的流水线会跳过该作业。
  • 结合changes规则,只有当流水线为自动触发(如代码push、合并请求)且FILEBASE目录下文件有变更时,才会执行该作业。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:22:00