跳过正文
Background Image
  1. Posts/

在 Jenkins 中为不同分支设置不同的默认参数

·408 字·1 分钟· ·
沈显鹏
作者
沈显鹏
目录

问题背景
#

在使用 Jenkins 多分支流水线(Multibranch Pipeline)时,有时需要针对不同分支设置不同的默认参数。

例如:

  • develop / hotfix / release 分支
    除了常规构建外,还需要进行代码扫描等额外分析(如安全扫描、质量检测)。
  • feature / bugfix 分支或 Pull Request
    只需要进行常规构建,不执行额外扫描。

因此,我们希望参数能够根据分支自动设置默认值。


解决方案
#

在 Jenkinsfile 中,可以通过 env.BRANCH_NAME 判断当前构建分支,并设置默认参数值。

示例代码:

def polarisValue = false
def blackduckValue = false

if (env.BRANCH_NAME.startsWith("develop") || 
    env.BRANCH_NAME.startsWith("hotfix")  || 
    env.BRANCH_NAME.startsWith("release")) {
    polarisValue = true
    blackduckValue = true
}

pipeline {
    agent { node { label 'gradle' } }

    parameters {
        booleanParam defaultValue: polarisValue, name: 'Polaris',  description: '取消勾选可禁用 Polaris 扫描'
        booleanParam defaultValue: blackduckValue, name: 'BlackDuck', description: '取消勾选可禁用 BlackDuck 扫描'
    }

    stages {
        // 构建、测试、扫描等步骤
    }
}

优点

  • 不需要为每个分支单独维护一套 Jenkinsfile。
  • 参数可灵活控制,方便扩展更多分支规则。
  • 支持在多分支流水线中实现“按需扫描”,节省构建时间。

这样配置后,Jenkins 在不同分支构建时会自动使用对应的参数默认值,避免人工干预。

相关文章

如何通过 Jenkins 进行资源的锁定和释放
·901 字·2 分钟
本文介绍了如何使用 Jenkins 的 Lockable Resources 插件来管理和锁定资源,确保在多任务环境中资源的独占性和安全性。
通过 Jenkins 来提交修改的代码 git push by Jenkins
·439 字·1 分钟
如何通过 Jenkins Pipeline 脚本来提交修改的代码到 Git 仓库,包括克隆仓库、修改代码和推送更改等步骤。
Jenkins Linux Agent 配置
·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。
Jenkins Windows Agent 配置
·608 字·2 分钟
本文提供 Jenkins Windows Agent 的详细配置步骤,包括 Java 运行时准备、节点创建以及常见问题的排查方法。
Jenkinsfile 配置
·256 字·1 分钟
本文介绍了如何使用 Jenkinsfile 配置 Jenkins Pipeline,包括构建、测试和发布阶段的示例,以及如何处理邮件通知。
Jenkins 升级后 Windows Agent 无法启动的解决方法
·325 字·1 分钟
本文介绍 Jenkins 升级后 Windows Agent 无法启动的问题,以及通过更新 Windows Slaves 插件和修改配置文件来解决的步骤。