input插件
你是否用过Shell编程中的read交互式赋值? 是否用过Python中的input()函数完成在屏幕中的交互赋值操作呢? 在实际的流水线中如何使用强大的input方式与用户完成交互。
生成Jenkinsfile
首先需要在插件管理中安装此插件“Pipeline:InputStep”。
站点地址:https://plugins.jenkins.io/pipeline-input-step
如下图所示,对应用回滚做出选择。提示信息为“是否进行回滚”,自定义的id号为123。确认按钮的提示文字为“是的”。允许提交人为我自己的账号。配置了a=1这个参数会在运行后传递给变量。最后增加了一个字符参数用于输入输入。
一起试验一下吧!
安装插件
学习语法
Jenkinsfile
node(){stage(“test”){result = input id:’123’,message:’是否执行应用回滚?’,ok:’是的’,parameters: [string(defaultValue:’devops-service’, description:’’, name:’serviceName’, trim:false)],submitter:’lizeyang’,submitterParameter: ‘a=1’println(result)}}
构建详情
Blueocean
查看详细的日志Console Output
Started by user lizeyang
Replayed #14
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/lib/jenkins/workspace/devops-service-abcd111@2
[Pipeline] {
[Pipeline] stage
[Pipeline] { (test)
[Pipeline] input
Input requested
Approved by lizeyang
[Pipeline] echo
{a=1=zeyangli, serviceName=devops-service}
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
多种参数类型支持
如下图所示,你应该知道了其实在参数化构建job的参数,都可以用于input参数。比如常用的有:
- 字符串参数
- 选项参数
- 多选参数
- 布尔参数
- 凭据参数
- 等等参数
凭借着如此强大的参数类型,基本上满足了日常的需要。