作为CI/CD的调度中心,Jenkins具有十八般武艺,目前已有1700多个插件,功能强大到似乎有点过分了。本文主要列出平时我们常用的插件。
以下这两个网站是Jenkins所有的插件及说明
Jenkins Plugins https://plugins.jenkins.io
Jinkins Plugins Wiki https://wiki.jenkins.io
Jenkins CASC: configuration-as-code
将Jenkins的配置以Code的方式进行保存,方便Jenkins的迁移与重建。该插件对于敏捷管理Jenkins服务非常有用。
Git Parameter
这是一个参数构建扩展,可以在构建的时候选择git的某一个分支来构建服务。
file-parameters
这个让Jenkinsfile支持将文件作为参数。
Hidden Parameter
参数化构建时,隐藏相关参数。可用于设置默认参数,同时通过API来传递参数。
Docker
利用Docker容器动态创建Jenkins Slave。如果有了Kubernetes/Openshift集群,就不需要这个插件了。直接使用下面的Kubernetes插件。
jenkins非root启动的话,为了运行docker需要执行sudo chmod 777 /var/run/docker.sock
Kubernetes
这个插件可以将Jenkins Slave Node动态配置为Kubernetes集群上的pod。
Openshift
这个插件支持调度Openshift的对象,包括触发 BuildConfig、Deployment、Scale up a Deployment,给ImageStream打新的Tag,以及创建新的对象、删除已有对象等。
swarm
这个插件可以方便地为jenkins master添加slave agent.
GitLab
配置Gitlab的相关认证,同时也支持GitLab的Webhook触发。
GitLab Hook
支持GitLab更好的触发。
Gogs WebHook
支持Gogs代码仓库的触发。
Maven
这个插件为Maven 2 / 3项目提供了高级集成功能。
Pyenv Pipeline
方便对python进行项目级别的环境隔离。
jenkins机器上需要安装python、pip、virtualenv
Python
这个插件支持在Jenkins的构建过程中执行Python脚本。
SonarQube Scanner
支持SonarQube的代码扫描。
Ansible
在构建任务中可以执行Ansible任务。
Publish Over SSH
通过SSH拷贝文件到目标机器,同时可以在目标机器上执行脚本
事先要在设置中添加目标机器的访问方式。
Condition BuildStep
可以使用when对step做判断
Http Request
向用户发送一个HTTP / HTTPS请求
xvfb
为应用程序提供虚拟的X server,主要用于界面自动化测试。
Job Generator
定义一个参数化的模板,通过这个模板快速的在 Jenkins 上创建出任务。
Job DSL Plugin
Jenkins Job DSL Plugin 可以让开发者通过 Groovy 脚本来定义和配置任务,随后插件会通过执行这些脚本来维护 Jenkins 任务。与Job Generator相比,它需要了解Groovy。
Pipeline:Job
添加一个新的Job类型:Pipeline。
Multijob
把多个Job组织起来。
Parameterized Trigger
这是一个扩展型的插件,使各个job连接的时候可以传递一些job相关的信息。
Parameterized Scheduler
这个扩展是Parameterized Trigger的定时触发版
Join
这也是一个触发job的插件,亮点在于它触发job的条件是等待所有当前job的下游的job都完成才会发生。
Build Pipeline
这个插件提供一个构建流水线的视图。同时它提供了一个任务的手动触发器。
Build Monitor View
将Jenkins项目以一块看板的形式呈现。
JUnit
展示JUnit单元测试报告。
TestNG Results
导出TestNG的测试报告。
JaCoCo
生成测试覆盖率的报告。
Performance
生成性能测试报告
需要在Jenkins机器上安装Taurus(开源负载测试工具和功能测试工具自动化框架)
Html Publisher
生成报告文档。参考资料:https://www.jianshu.com/p/8fb776f83243
Email Extension
扩展了发送告警邮件的控制力度。可以定义邮件触发器、邮件内容、收件人。
Mailer
每次不稳定的构建都发送邮件通知。
单独发送邮件给对构建造成不良影响的责任人,会从SCM提交者人的信息中,拼出邮箱。
Sounds
这个插件能让Jenkins通过播放声音来发出通知。
Workspace Cleanup
每次build之前删除workspace目录下指定的文件
Role-based Authorization Strategy 用户角色
给Jenkins用户权限管理添加了角色组。
Matrix Authorization Strategy Plugin
为每个项目设置用户权限
Disk Usage
对Jenkins节点服务器磁盘的监控。
Monitoring监控
监控Jenkins节点的CPU、系统负载、平均响应时间和内存使用。
Backup备份Jenkins
自定义备份Jenkins Home目录。
ThinBackup轻量备份Jenkins
轻量备份Jenkins上的配置与Job
SCM Sync Configuration
预先要在全局配置中设置代码版本控制库的配置,每次创建或更新job配置时都会提示是否同步配置
参考文章
jenkins常用插件汇总
Jenkins插件大全