Jenkins各类插件介绍

开源版本的Jenkins 具有三大能力:Master-Slave的分布式构建调度能力、Pipeline编排能力、强大的开源生态(插件)能力。

2017年4月,Jenkins创始人KK(Kohsuke Kawaguchi )来到中国,交流中他也明确表示Jenkins的成功主要取决于其开源生态系统,Jenkins有1400多个插件可供使用。因为有开源的插件生态系统的存在,Jenkins要用得好,插件一定是不能少的,需要我们充分发现和使用插件来实现我们的需求,而不是重复造轮子,自己去实现。

这里就有一个问题了,这么多的插件,到底该选择哪些进行安装呢?下面是一些常用的插件。

PS:后续有用到新的插件还会继续更新。

一、用户和权限插件

Jenkins 用户权限管理是Jenkins Administration中非常很重要的环节,由于大部分企业都会有自己的域控管理,所以和LDAP集成并基于用户组实现权限模型设计与管理是企业级Jenkins实践的重要内容。

LDAPhttps://plugins.jenkins.io/ldap),这个插件允许使用LDAP对用户进行认证,LDAP 服务器可以为Active Directory 或者 OpenLDAP。

Active Directoryhttps://plugins.jenkins.io/active-directory),这个插件允许使用Active Directory对用户进行认证,同时结合诸如Matrix Authorization Strategy插件,可以识别用户所在的所有用户组,对用户授权进行灵活配置。基于Windows Active Directory进行域管理的企业,推荐采用Active Directory。

GitHub Authenticationhttps://plugins.jenkins.io/github-oauth),这个插件提供了使用GitHub进行用户认证和授权的方案。

Gitlab Authenticationhttps://plugins.jenkins.io/gitlab-oauth),这个插件提供了使用GitLab进行用户认证和授权的方案。

Matrix Authorization Strategyhttps://plugins.jenkins.io/matrix-auth),这个插件提供了基于矩阵的授权策略,支持全局和项目级别的配置。

Role-based Authorization Strategyhttps://plugins.jenkins.io/role-strategy),这个插件提供了一种基于角色(Role)的用户权限管理策略,支持创建global角色、Project角色、Slave角色,以及给用户分配这些角色。这款插件是最常用的Jenkins权限策略和管理插件。

二、代码管理插件

Jenkins 项目中配置Source Code Management 去下载代码进行构建任务,是非常普遍的应用场景。Jenkins插件支持很多SCM的系统,使用最常见的是Git 和SVN。

Githttps://plugins.jenkins.io/git),支持使用Github、GitLab、Gerrit等系统管理代码仓库。

Subversionhttps://plugins.jenkins.io/subversion),支持Subversion系统管理源代码。

三、项目及视图插件

Jenkins中对Project 和 view的管理,是用户日常工作中使用很多的功能。

Folderhttps://plugins.jenkins.io/cloudbees-folder),这个插件支持用户使用目录管理项目,目录支持嵌套,并且支持目录中创建视图。

List view Jenkins,默认支持List类型的视图,用户可以创建List视图过滤所关心的项目。

Sectioned Viewhttps://plugins.jenkins.io/sectioned-view),这个插件支持一种新的视图,视图可以分为多个部分,每部分可以单独配置显示所选择的项目信息。

Nested Viewhttps://plugins.jenkins.io/nested-view),这个插件支持一种新的视图,其表示直接显示项目,而是以目录图标显示所包含的子视图,每个子视图显示所选项目信息。

Build Pipelinehttps://plugins.jenkins.io/build-pipeline-plugin),这个插件提供了一种Build Pipeline 视图,用于显示上、下游项目构建的关系。

四、构建触发插件

Jenkins支持多种Build 触发方式,尤其一些自动化触发方式非常有用。

Build periodically,Jenkins 内置功能,可以设置类似crontab时间,周期性地自动触发构建。

Poll SCM,Jenkins 内置功能,类似Build periodically,可以设置类似crontab时间,不同的是不是直接进行构建,而是周期性地在后台检查所配置的SCM有没有更新,只有当有代码更新时才会触发构建。

Trigger builds remotely (e.g., from scripts),Jenkins 内置功能,远程触发构建,通过设置token可以支持远程脚本中触发Jenkins构建。

Gerrit Triggerhttps://plugins.jenkins.io/gerrit-trigger),这个插件将Jenkins集成到Gerrit code review中,支持Jenkins配置Gerrit服务器等信息,实现Gerrit event 触发Jenkins 构建。

GitLabhttps://plugins.jenkins.io/gitlab-plugin), 这个插件将Jenkins 集成到GitLab web hook中,支持Gitlab 分支及Merge Request等相关事件触发Jenkins构建。

GitHub Integrationhttps://plugins.jenkins.io/github-pullrequest),这个插件将Jenkins集成到GitHub中,支持Gitgub分支及Pull requests 触发Jenkins 构建。

JIRA Triggerhttps://plugins.jenkins.io/jira-trigger),这个插件将Jenkins集成到Jira WebHooks中,支持Jira issue的状态等变化时触发Jenkins构建。

五、构建参数插件

Jenkins除了支持普通的参数类型(布尔型、字符串型、多行文本型、选择型和文件型[w1] )外,还有一些插件支持更加丰富实用的参数类型,比如参数间动态关联、多层级参数、隐藏参数等 。

nodelabelparameterhttps://plugins.jenkins.io/nodelabelparameter),这个插件增加了一个新的参数类型,Node 和 Label,从而使用户通过参数可以选择项目构建运行的节点。

其他插件不一一列举,可以查看插件说明:

六、构建任务及环境插件

围绕构建任务,有许多小的插件,却提供了一些实用的功能。

Workspace Cleanuphttps://plugins.jenkins.io/ws-cleanup),这个插件支持在构建前后 删除或者部分删除workspace。

description setterhttps://plugins.jenkins.io/description-setter),这个插件支持正则表达式匹配构建log输出,设置构建的描述。

build-name-setterhttps://plugins.jenkins.io/build-name-setter),这个插件支持设置构建的显示名字,而不是默认的为#1,#2,……,#buildnum。

Environment Injectorhttps://plugins.jenkins.io/envinject),这个插件支持在构建任务的不同阶段插入环境变量,并且在构建结束导出所有的环境变量等功能。

七、构建通知插件

把构建状态及时地通知用户,是Jenkins的一个必不可少的功能。Jenkins支持多种主动和被动的通知方式。

Mailerhttps://plugins.jenkins.io/mailer),这个插件支持基本的邮件通知功能,比如构建失败和构建恢复成功可以发送邮件通知给相关人员。

Email Extensionhttps://plugins.jenkins.io/email-ext),这个插件是邮件通知的扩展,支持定制邮件内容,触发条件以及邮件接收者,功能比基本邮件通知要灵活强大的多。

Slack Notificationhttps://plugins.jenkins.io/slack),这个插件支持把构建结果推送到Slack channel。

八、容器化slave插件

Jenkins的Master-Slave架构实现了分布式构建,可以充分的横向扩展Slave来提升构建能力,将Slave容器化是目前主流的构建环境标准化、集群化和弹性化的方式。

Dockerhttps://plugins.jenkins.io/docker-plugin),这个插件可以配置docker host ,从而动态的提供Jenkins Agent(Slave),运行构建后再销毁这个slave。

Kuberneteshttps://plugins.jenkins.io/kubernetes),这个插件支持利用Kubernetes cluster 动态的提供Jenkins Agent(Slave),利用Kubernetes 调度机制来优化Jenkins 负载等。

九、Admin相关插件

Configuration Slicinghttps://plugins.jenkins.io/configurationslicing),这个插件支持批量修改项目配置。

Mask Passwordshttps://plugins.jenkins.io/mask-passwords),这个插件支持遮挡构建log输出的password等敏感信息。

Backuphttps://plugins.jenkins.io/backup),这个插件添加备份功能到Jenkins management。

参考文章:

http://www.greatops.net/?id=233

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值