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

Jenkins配置即代码模式下如何配置Suppress automatic SCM triggering?

在Jenkins配置即代码模式下禁用自动SCM触发的方法

针对你的需求,直接在JobDSL中配置MultiBranch Pipeline的参数即可实现禁用自动SCM触发,无需在流水线Groovy脚本中修改,具体操作如下:

1. JobDSL配置示例

在定义MultiBranch Pipeline的JobDSL代码里,添加suppressAutomaticTriggering(true)配置项,就能全局禁用该多分支任务的自动SCM触发,只保留你设置的cron调度:

multibranchPipelineJob('nightly-builds') {
  branchSources {
    git {
      remote('https://your-repo-url.git')
      credentialsId('your-creds-id')
      includes('nightly/*') // 仅包含nightly相关分支
    }
  }
  suppressAutomaticTriggering(true) // 启用禁用自动SCM触发
  triggers {
    cron('H 2 * * *') // 每晚2点运行
  }
}

2. 补充说明

  • 这个配置作用于整个MultiBranch Pipeline任务,启用后所有分支都不会因代码提交触发构建,完全依赖预设的cron调度执行。
  • 如果需要更细粒度的控制(比如仅部分分支禁用SCM触发),可以在目标分支的Jenkinsfile中只声明cron触发器,不添加SCM触发配置:
pipeline {
  agent any
  triggers {
    cron('H 2 * * *')
    // 不设置scm触发器
  }
  stages {
    // 流水线执行步骤
  }
}

但这种方式需要逐个修改目标分支的Jenkinsfile,不如JobDSL全局配置高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:32:47