前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins input插件最佳实践(交互)

Jenkins input插件最佳实践(交互)

作者头像
DevOps云学堂
发布2019-10-31 15:41:53
4.6K0
发布2019-10-31 15:41:53
举报
文章被收录于专栏:DevOps持续集成

1、简介

你是否用过Shell编程中的read交互式赋值? 是否用过Python中的input()函数完成在屏幕中的交互赋值操作呢?

今天要给大家介绍的是在实际的流水线中如何使用强大的input方式与用户完成交互。我整理了几个常用的方式,需要能够给你带来帮助。

  • 多服务发布流水线,让用户选择对特定的服务进行操作。

2、生成Jenkinsfile

首先需要在插件管理中安装此插件“Pipeline:InputStep”。

站点地址:https://plugins.jenkins.io/pipeline-input-step

如下图所示,对应用回滚做出选择。提示信息为“是否进行回滚”,自定义的id号为123。确认按钮的提示文字为“是的”。允许提交人为我自己的账号。配置了a=1这个参数会在运行后传递给变量。最后增加了一个字符参数用于输入输入。

一起试验一下吧!

安装插件

学习语法

Jenkinsfile

代码语言:javascript
复制
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

代码语言:javascript
复制
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

3、多种参数类型支持

如下图所示,你应该知道了其实在参数化构建job的参数,都可以用于input参数。比如常用的有:

  • 字符串参数
  • 选项参数
  • 多选参数
  • 布尔参数
  • 凭据参数
  • 等等参数

凭借着如此强大的参数类型,基本上满足了日常的需要。

4、总结

我们使用input插件能够完成不同场景下的交互,使流水线更加灵活。遗憾的是有一些特殊的参数类型在Blueocean还不支持,希望日后会更加强大 @Jenkins。

往期精彩文章推荐

整理Jenkins与Gitlab的交互方式

关于提交和合并流水线的实践

DevOps技术实践中的一些总结

关于SonarQube开源版使用问题

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、简介
  • 2、生成Jenkinsfile
  • 3、多种参数类型支持
  • 4、总结
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档