跳过正文
  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 Linux Agent 配置
·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。
Jenkins Windows Agent 配置
·608 字·2 分钟
本文提供 Jenkins Windows Agent 的详细配置步骤,包括 Java 运行时准备、节点创建以及常见问题的排查方法。
Jenkins 升级后 Windows Agent 无法启动的解决方法
·325 字·1 分钟
本文介绍 Jenkins 升级后 Windows Agent 无法启动的问题,以及通过更新 Windows Slaves 插件和修改配置文件来解决的步骤。
Jenkins 中 `result` 与 `currentResult` 的区别
·492 字·1 分钟
本文解释了 Jenkins Pipeline 中 result 与 currentResult 的区别,并通过 Declarative Pipeline 与 Scripted Pipeline 示例展示它们在不同阶段的表现。
备份 Jenkins 的方法
·442 字·1 分钟
介绍如何使用 ThinBackup 插件或 Shell 脚本备份 Jenkins,确保 Jenkins 配置和构建数据安全存储。
通过 generic-webhook-trigger 插件实时获取 Bitbucket Repository Events
·716 字·2 分钟
本文介绍如何使用 Jenkins 的 generic-webhook-trigger 插件来实时获取 Bitbucket 仓库的事件信息,如 Pull Request ID 等。