赞
踩
在之前的文章《 自动化部署实践(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' // 在这里添加构建步骤 } } } }
Jenkins的Pipeline使用Groovy作为脚本语言。在Groovy中,单引号(’)和双引号(")都可以用来定义字符串,但它们在处理字符串插值时存在差异。
双引号("):双引号定义的字符串支持插值。即可以在双引号字符串中使用${}来插入变量值,Groovy解析这个字符串时,它会将${}内的变量或表达式替换为实际值。例如:
def branchName = "master"
def message = "The current branch is: ${branchName}"
echo message // 输出:The current branch is: master
单引号(’):单引号定义的字符串不支持插值。即Groovy会将单引号内的字符串视为纯文本,不会对其中的${}进行解析或替换。例如:
def branchName = 'master'
def message = 'The current branch is: ${branchName}'
echo message // 输出:The current branch is: ${branchName}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。