在之前的文章《 自动化部署实践(Jenkins+Git+Docker+阿里云k8s)》中,使用Jenkins实现了项目的自动化部署,当时由于Git版本分支固定,并没有对Git版本分支选择进行参数化,随着项目分支变多,在构建时需要选择Git分支
实现步骤
按照新的Job进行说明,如下:
-
首先,确保已经安装了Git Parameter插件。如果没有安装,先从插件管理页面进行安装。
-
创建一个新的流水线job,进入配置页面。
-
在“常规”选项卡中,勾选“参数化构建过程”,然后点击“添加参数”按钮,选择“Git参数”。
-
在“Git参数”设置中,设置名称为“BRANCH_NAME”(或其他任何名称),将“参数类型”设置为“分支”,并填写Git仓库URL。其他选项可以根据需要进行配置。
-
在Pipeline脚本中,通过gitParameter 定义参数,注意和步骤4中填写的信息保持一致,然后通过params.BRANCH_NAME引用选择的分支。
pipeline {
agent any
parameters {
gitParameter name: 'BRANCH_NAME', type: 'PT_BRANCH', defaultValue: 'master', description: 'Select the branch to build', useRepository: 'git@github.com/your-repo.git', branchFilter: 'origin/(.*)'
}
stages {
stage('Build') {
steps {
echo "Building branch ${params.BRANCH_NAME}"
git branch: "${params.BRANCH_NAME}", url: 'git@github.com/your-repo.git'
// 在这里添加构建步骤
}
}
}
}
- 点击“保存”按钮保存配置。当选择“Build With Parameters”构建项目时,会看到一个下拉菜单,其中包含Git仓库中的所有分支。
注意事项和说明
- 配置后第一次选择“Build With Parameters”构建项目时,可能会获取不到分支信息。忽略该错误提示,继续执行构建,后续的构建就是正常的了
- 关于单引号和双引号的说明
Jenkins的Pipeline使用Groovy作为脚本语言。在Groovy中,单引号(’)和双引号(")都可以用来定义字符串,但它们在处理字符串插值时存在差异。
双引号("):双引号定义的字符串支持插值。即可以在双引号字符串中使用${}来插入变量值,Groovy解析这个字符串时,它会将${}内的变量或表达式替换为实际值。例如:文章来源:https://www.toymoban.com/news/detail-699436.html
def branchName = "master"
def message = "The current branch is: ${branchName}"
echo message // 输出:The current branch is: master
单引号(’):单引号定义的字符串不支持插值。即Groovy会将单引号内的字符串视为纯文本,不会对其中的${}进行解析或替换。例如:文章来源地址https://www.toymoban.com/news/detail-699436.html
def branchName = 'master'
def message = 'The current branch is: ${branchName}'
echo message // 输出:The current branch is: ${branchName}
到了这里,关于Jenkins流水线Job中Git分支获取和参数化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!