在上一篇文章中介绍了在Jenkinsfile中通过parameters中的choice(下拉框)类型获取输入参数的方法,这篇文章将会继续介绍Jenkinsfile的parameters所支持的其他物种类型的使用方式。
parameter{}
在上篇文章的示例中我们看到了parameter{}的使用方式,用户通过特定的方式来指定参数的数值,并将其在流水线执行之前传入其中,满足了流水线中根据用户需求来指定参数的需求。
- 使用限制:必须写在pipeline{}块中,只能存在一处parameter{}
- 可选vs必选:可选
参数类型
Jenkinsfile目前支持如下六种类型的参数,具体说明如下所示:
参数类型 | 参数说明 |
---|---|
string | 字符串类型参数 |
text | 文本类型参数,与字符串的区别在于可以包含多行信息,用于传入较多信息输入 |
booleanParam | 布尔类型参数 |
choice | 类似下拉框或者支持多值的单选参数 |
file | 指定构建过程中所需要的文件 |
password | 考虑到安全的因素,需要通过参数方式传递的密码类型 |
环境准备
本文使用Easypack的LTS Jenkins 2.167.1版,环境准备请参看
获取Jenkins-Crumb
使用如下示例代码获取Jenkins-Crumb,为使用API方式生成示例作准备。
liumiaocn:jenkins liumiao$ jenkins_host_url=http://localhost:32002
liumiaocn:jenkins liumiao$ user_passwd="root:liumiaocn"
liumiaocn:jenkins liumiao$ jenkins_crumb=`curl -u $user_passwd ${
jenkins_host_url}'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' 2>/dev/null`
liumiaocn:jenkins liumiao$ echo $jenkins_crumb
Jenkins-Crumb:83d748ee92512c4dccd589aaa5c55a9a
liumiaocn:jenkins liumiao$
创建Job
使用如下代码示例创建Job
liumiaocn:jenkins liumiao$ ls demo/pipeline/paramsall/config.xml
demo/pipeline/paramsall/config.xml
liumiaocn:jenkins liumiao$ cat demo/pipeline/paramsall/config.xml
<?xml version='1.1' encoding='UTF-8'?>
<flow-definition plugin="workflow-job@2.32">
<actions>
<org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobAction plugin="pipeline-model-definition@1.3.8"/>
</actions>
<description>Pipeline Job Sample</description>
<keepDependencies