DevOps持续集成
点击关注可弹出隐藏图片
End
“
业精于勤荒于嬉,行成于思毁于随。
”
1
简介
你是否用过Shell编程中的read交互式赋值? 是否用过Python中的input()函数完成在屏幕中的交互赋值操作呢?
今天要给大家介绍的是在实际的流水线中如何使用强大的input方式与用户完成交互。我整理了几个常用的方式,需要能够给你带来帮助。
- 多服务发布流水线,让用户选择对特定的服务进行操作。
2
生成Jenkinsfile
首先需要在插件管理中安装此插件“Pipeline:InputStep”。
站点地址:https://plugins.jenkins.io/pipeline-input-step
如下图所示,对应用回滚做出选择。提示信息为“是否进行回滚”,自定义的id号为123。确认按钮的提示文字为“是的”。允许提交人为我自己的账号。配置了a=1这个参数会在运行后传递给变量。最后增加了一个字符参数用于输入输入。
一起试验一下吧!
安装插件
学习语法
Jenkinsfile
node(){
构建详情
Blueocean
查看详细的日志
Console Output
Started by user lizeyangReplayed #14Running in Durability level: MAX_SURVIVABILITY[Pipeline] Start of Pipeline[Pipeline] nodeRunning on Jenkins in /var/lib/jenkins/workspace/devops-service-abcd111@2[Pipeline] {[Pipeline] stage[Pipeline] { (test)[Pipeline] inputInput requestedApproved by lizeyang[Pipeline] echo{a=1=zeyangli, serviceName=devops-service}[Pipeline] }[Pipeline] // stage[Pipeline] }[Pipeline] // node[Pipeline] End of PipelineFinished: SUCCESS
3
多种参数类型支持
如下图所示,你应该知道了其实在参数化构建job的参数,都可以用于input参数。比如常用的有:
字符串参数
选项参数
多选参数
布尔参数
凭据参数
等等参数
凭借着如此强大的参数类型,基本上满足了日常的需要。
4
总结
我们使用input插件能够完成不同场景下的交互,使流水线更加灵活。遗憾的是有一些特殊的参数类型在Blueocean还不支持,希望日后会更加强大 @Jenkins。
往期精彩文章推荐
长按二维码关注我们吧!
本文分享自微信公众号 - DevOps云学堂(idevopsvip)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。