<h2>摘要:</h2>

对于中小型运维团队,jenkins作为运维利器,可以解决很多工作中的痛点。基于UI的特性从而让使用者的入门成本很低,基于插件可以具备认证,记录,条件触发以及联动,让运维工程师可以将精力放在业务而非通用需求上,从而大幅提升运行效率,降低开发成本。基于分布式的调度能力,又能在异构网络中进行集中式管理。这其中,插件功不可没,因此本文以截图的形式,详细介绍在运维中jenkins的20+主要插件

本文鉴于篇幅,无法对每个插件的用法进行详细阐述,仅对插件的关键点进行截图,大家可以在jenkins插件的官网进行查询https://plugins.jenkins.io

Build Pipeline Plugin:灰度发布

使用心得:将多个job进行串联,从而实现分级发布的能力。每个job完成之后,可以进行效果检查,通知关联系统等等功能,从而实现了一套较为完整的全流程自动变更机制

Conditional BuildStep:策略判断

使用心得:对于任务执行,增加了很多的触发条件判断,从而让任务执行变得更加智能

Ansible Plugin:批量执行

使用心得:通过jenkins+ansbile可以实现任务的批量执行,可以不使用ansible模式,直接在shell里面调用ansible即可,但是需要在ansible部署的机器上设置好主机列表 ;也可以基于ansible模式进行操作,两种截图均有提供

Build timeout plugin:超时控制

使用心得:设置Job运行的最大耗时,避免异常后无人介入导致Job持续运行占用资源,最小超时时间为3min

Cron Column Plugin:定期执行

使用心得:通过定时任务例行的运行一些job,实现例行的巡检,流量切换,预案演练,重启等操作

Job Configuration History Plugin:变更查询

使用心得:使job具备版本管理的能力,diff和rollback功能更是非常赞

HTTP Request Plugin:跨平台调用

使用心得:在构建前后可以通过该插件以http形式调用各种api接口实现和内部系统的联动

Parameterized Trigger plugin:参数传递

使用心得:触发下一个job时,将上一个job的参数传递下去,利用该特性,也可以将执行的Slave作为参数进行传递,从而解决在公有云多租户场景下JOB通用的问题。通过build on the same node即可解决所有JOB都在特定的slave上执行。需要注意的是,current build parameters仅仅传递该JOB编译用到的参数,而非上一个JOB传递下来的所有参数,在多级传递中需要注意。

Git plugin

使用心得:通过版本库获取代码,从而减少在Jenkins上大量编写脚本,从而带来的较高的维护成本,正确的使用Jenkins的方式应该是将大量的业务逻辑放在版本库中,Jenkins只是胶水作用,将各种操作粘合在一起从而让任务能够顺利完成。

Job Import Plugin

使用心得:可以快速导入其他jenkins集群的已有job,需要认证的jenkins系统导入需要提供凭证才可以

SSH Slaves plugin:总控方式管理公有云的多个租户

使用心得:通过该插件可以将Master上的JOB在Slave的机器上执行,Master通过SSH的方式连接Slave。主要用途有两种,第一种是降低Master的负载,在Master的JOB较多的时候使用;第二种是将Slave当做代理,用于管理Master无法直接联通的网络环境,如多个公有云租户。Master以SSH方式连接Slave时候,建议使用信任关心处理,这样可以减少很多的问题和安全风险 。同时,Master和Slave的Jenkins——Home变量要一致,否则会导致部分任务执行异常。调整了Slave的部署目录,需要断开Slave,然后重新连接才能生效jenkins-home。

Copy To Slave Plugin:Slave集群数据推送

使用心得:通过该插件,Master可以在任务执行前先以SSH方式登录到Slave上,然后将指定的数据推送到Slave上。主要的使用场景,如果任务执行需要先下载版本库的内容再执行,那么下载动作是放在Slave上进行的,因为异构网络导致Slave无法连接相关资源时,该方式可以很好的解决

Slave Prerequisites plugin:对Slave集群进行筛选

使用心得:通过该插件,Master可以在任务执行前先以SSH方式登录到Slave上,然后执行预定义的Shell脚本,进行自定义的健康检查,从而在多个Slave的情况下选择最健康的Slave进行任务的执行,提升任务执行的成功率

Built-on Column:展示实际执行任务的Node名称

使用心得:通过该插件,可以在页面上直观的看到是哪个节点指定的对应的JOB,对于多节点的场景下能够对于排错有很大帮助

Timestamper:耗时分析

使用心得:通过该插件,可以将任务输出的内容,每行前均添加时间戳,从而便于分析任务的耗时问题。默认情况下,前面的时间戳是不存在的,仅有后面的内容。同时,对于时间戳的展现形式,也有多种,详见截图

**11:30:56** Started by user admin
**11:30:56** Building remotely on slave1 in workspace /home/jenkins/jobs/workspace/testSlave1
**11:30:56** [testSlave1] $ /bin/sh -xe /tmp/jenkins4021440449868306197.sh
**11:30:56** + sudo ansible test -m command -a ifconfig

Mask Passwords Plugin:密码加密

使用心得:通过该插件,可以将用户输入的密码内容以********进行代替,从而避免在输入秘钥后在output中别人看到的隐患。安装完毕该插件后,需要在系统管理-系统设置中对何种类型的参数进行密码,然后在JOB中构建环境部分,勾选Mask passwords and regexes从而让密码加密功能生效

15:12:54 + echo ********
15:12:54 ********
15:12:54 Finished: SUCCESS

HTML Publisher plugin:支持HTML输出格式的展现

使用心得:通过该插件可以将Jenkins的执行结果以HTML方式进行展现,当然前提是你的输出结果是HTML文件,该插件现在还无法做到将任意类型的输出内容格式化为HTML

Mailer Plugin:通过邮件发送任务执行情况

使用心得:通过该插件可以将Jenkins的执行结果(主要是失败任务)以邮件方式进行发送,需要注意的地方是,在配置页面中SMTP认证的用户名和jenkins location的系统管理员邮箱地址需要相同,不然在QQ邮箱中无法正常发出,会报”501 mail from address must be same as authorization user”

ThinBackup Plugin:定期备份Jenkins

使用心得:通过该插件可以将Jenkins进行定期备份,主要是试用定期备份功能,设置最大的备份数量,历史备份压缩保存以及对需要备份的文件和目录进行定制化设置

Configuration Slicing Plugin:批量修改JOB的配置

使用心得:通过该插件可以将Jenkins的所有JOB的某些配置点(截图2列出)进行单一页面的展示和部分修改。推荐几个常用的修改点,Execute shell slicer,parameters,Timer Trigger Slicer,Timestamper Slicer,Tied Label Slicer,Discard Old Builds Slicer。parameters修改截图如下图所示,全部JOB的parameters已经进行了罗列,按需修改即可。

Multi slave config plugin:批量修改slave的配置

使用心得:通过该插件可以将Jenkins的所有slave进行批量的管理

CAS protocol version 1 plugin

使用心得:通过该插件接入公司的认证系统,从而减少了自己维护认证信息的成本

Folder

使用心得:通过文件夹进行不同类型的JOB的管理

原文地址:http://www.yunxiaobai.net/archives/15

	</div>

Jenkins常用插件介绍的更多相关文章

  1. Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN

    Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN.NET http://blog.csdn.net/borishuai/article/details ...

  2. subline text3常用插件介绍

    常用插件介绍:  html beautify(ctrl+shift+alt+f) 自动排版代码 Emmet 输入少量代码后摁Tab键,系统自动补全代码. AutoFileName 快速列出你想引用的文 ...

  3. jenkins常用插件汇总

    jenkins常用插件汇总: Build-timeout Plugin:任务构建超时插件 Naginator Plugin:任务重试插件 Build User Vars Plugin:用户变量获取插件 ...

  4. Notepad++前端开发常用插件介绍

    Notepad++前端开发常用插件介绍 Notepad++除了自身的功能强大之外,更是有许多非常的优秀的插件,下面就总结一下前端开发过程一些比较常用的插件. Emmet Emmet的前身是Zen Co ...

  5. Jenkins常用插件说明(持续更新)

    本文主要记录在学习以及使用Jenkins过程中常用的对我们有帮助的插件,同时本文将会持续进行更新.如果大家发现有其他野很好用的插件,也欢迎参照下面的格式,在评论中进行回复反馈. 一.通用插件 1.Em ...

  6. 【转载】Grunt常用插件介绍

    项目名称 grunt-contrib v0.8.0 项目地址 https://github.com/gruntjs/grunt-contrib 项目介绍 此项目是对grunt常用插件的集合,刚接触gr ...

  7. 持续集成-Jenkins常用插件安装

    1. 更新站点修改 由于之前说过,安装Jenkins后首次访问时由于其他原因[具体未知]会产生离线问题.网上找了个遍还是不能解决,所以只能跳过常用插件安装这步.进入Jenkins后再安装这些插件. 在 ...

  8. idea常用插件介绍

    常用插件 mybatis mapper 选择plugins,搜索mybatis plugin 激活教程 使用 插件的使用

  9. Gulp构建前端自动化工作流之:常用插件介绍及使用

    在对Gulp有了一个初步的了解之后,我们开始构建一个较为完整的Gulp开发环境. 本文主要分为6个段落: 1. 构建项目目录结构(Directory Structure Build) 2. 插件介绍及 ...

随机推荐

  1. impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)

    impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)例如Query: select cast(round(2 / 3, 4)*100 as string)+-- ...

  2. Postgres copy命令导入导出数据

    最近有需要对数据进行迁移的需求,由于postgres性能的关系,单表3000W的数据量查询起来有一些慢,需要对大表进行切割,拆成若干个子表,涉及到原有数据要迁移到子表的需求.起初的想法是使用存储过程, ...

  3. Google 插件的使用

    每次看英文网页或者文档的时候总会碰到不认识单词,就想能不能选中单词就可以显示翻译?于是就安装Google浏览器的翻译插件,总的来说,蛮繁琐的. 1.先安装谷歌访问助手 (1.)直接百度谷歌访问助手 ( ...

  4. 黑马vue---20、v-if和v-show的使用和特点

    黑马vue---20.v-if和v-show的使用和特点 一.总结 一句话总结: v-if 的特点:每次都会重新删除或创建元素 v-show 的特点: 每次不会重新进行DOM的删除和创建操作,只是切换 ...

  5. PPT:很多文字如何排版?(PPT如何美化?)

    1.加入图标.形状(或者加入图片和色块搭配) 2.提取关键词作为标题(这个很重要) 下面看下示例: 这个是没修改前 修改后: 相信大家都会喜欢第二张吧 再看一个: 最近在学做PPT,有点上瘾了,哈哈哈 ...

  6. C++ STL——string和vector

    目录 一 STL基本概念 二 string容器 三 vector容器 3.1 vector动态增长原理 3.2 vector构造函数 3.3 vector常用赋值操作 3.4 vector大小操作 3 ...

  7. AndroidStudio NDK环境3种搭建方式

    AndroidStudio NDK环境3种搭建方式     转载. https://blog.csdn.net/zhang_jun_ling/article/details/85621427 一.前言 ...

  8. hibernate中session的管理方式

    package loaderman.c_session; import loaderman.b_second_cache.Dept; import loaderman.b_second_cache.E ...

  9. [Navicat]把1个库的数据迁移到另1个库--数据库备份

    需求: 将autotest库中所包含的所有表,从连接centOS7复制1份至localhost.autotest 操作步骤: 1.将centOS7.autotest库中表结构及表数据转为sql语句:c ...

  10. 数据库sequence的作用和用法

    转: 数据库sequence的作用和用法 2016年10月14日 19:51:03 很菜很菜的鸟 阅读数 14456 标签: oracle数据库db2sequence   seqence的作用: se ...