主题
一、Jenkins 动态获取Git仓库参数插件使用手册
1.1 插件简介
Jenkins Git Parameter 插件(全称为 Git Parameter Plugin)是一款用于在 Jenkins 构建任务中动态获取 Git 仓库元数据的扩展插件。它允许用户在触发构建时,手动或自动选择 Git 仓库中的分支、标签、提交记录、目录结构等参数,替代传统固定分支/标签的构建方式。
- 解耦构建任务与固定分支/标签,支持按需选择任意版本(如测试特定提交、发布特定标签)。
- 结合 Jenkins 的参数化构建功能,实现“按版本触发”的灵活流水线。
1.2 插件安装
- 官方地址: https://plugins.jenkins.io/git-parameter/
- 安装方式: 系统管理 -> 管理插件 -> 可选插件 ->
Git Parameter Plug-In
-> 直接安装
1.3 配置方式
1.3.1 自由风格项目
- 安装
Git Parameter
插件 - 创建一个自由风格的JOB
- 在流水线中配置Git Parameter参数,定义分支的
变量名称为:GIT_BRANCH
,描述
,参数类型为:分支
,默认分支名称: mian
(⚠️新版本Jenkins中,叫:This project is parameterized
),如下图所示
在流水线中配置git 参数,定义
仓库地址
,git凭证
,指定默认分支为变量${GIT_BRANCH}
保存,开始构建
⚠️
配置后第一次选择“Build With Parameters”构建项目时,可能会获取不到分支信息。忽略该错误提示,继续执行构建,后续的构建就是正常的了
1.3.2 pipeline项目
- 创建一个pipeline的JOB
pipeline语法指南
Git Parameter 插件语法生成
git checkout 片段生成
完整的pipeline代码如下:
groovy
pipeline {
agent any
parameters {
gitParameter branch: '', branchFilter: '.*', defaultValue: 'main', description: '构建分支', name: 'GIT_BRANCH', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'GitParameterDefinition'
}
stages {
stage('checkout'){
steps{
script{
checkout scmGit(branches: [[name: '$GIT_BRANCH']], extensions: [], userRemoteConfigs: [[credentialsId: 'a11aa99b-7bba-48fd-bd01-46b68732578a', url: 'http://code.srebro.cn/opforge/demo.git']])
}
}
}
}
}
- 保存,开始构建
⚠️
配置后第一次选择“Build With Parameters”构建项目时, 会遇到报错:
- The default value has been returned
- No Git repository configured in SCM configuration or plugin is configured
- wrong Please check the configuration
忽略该错误提示,选择一个默认的分支开始构建,后续的构建就是正常的了