开发者社区> 朱志辉> 正文

Jenkins 应用三十六计-插件信息[转载]

简介: Jenkins 三十六计,第一计:Jenkins用得好,插件不能少。 案例一 企业级Jenkins之插件推荐列表 【相关计策:第一计】 开源版本的Jenkins 具有三大能力:Master-Slave的分布式构建调度能力、Pipeline编排能力、强大的开源生态(插件)能力。
+关注继续查看

Jenkins 三十六计

第一计:Jenkins用得好,插件不能少。

案例一 企业级Jenkins之插件推荐列表[W1]

【相关计策:第一计】

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

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

但是面对林林总总的插件,到底该怎么选?我的常用需求有哪些插件可以满足,笔者根据以往在企业中管理Jenkins的经验推荐如下常用的插件列表,希望大家基于Jenkins及其插件生态实现自己的持续交付与DevOps平台。

用户及权限

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

  • LDAP (https://plugins.jenkins.io/ldap),这个插件允许使用LDAP对用户进行认证,LDAP 服务器可以为Active Directory 或者 OpenLDAP。
  • Active Directory https://plugins.jenkins.io/active-directory,这个插件允许使用Active Directory对用户进行认证,同时结合诸如Matrix Authorization Strategy插件,可以识别用户所在的所有用户组,对用户授权进行灵活配置。
  • 基于Windows Active Directory进行域管理的企业,推荐采用Active Directory。
  • GitHub Authentication https://plugins.jenkins.io/github-oauth,这个插件提供了使用GitHub进行用户认证和授权的方案。
  • Gitlab Authentication https://plugins.jenkins.io/gitlab-oauth,这个插件提供了使用GitLab进行用户认证和授权的方案。
  • Matrix Authorization Strategy https://plugins.jenkins.io/matrix-auth,这个插件提供了基于矩阵的授权策略,支持全局和项目级别的配置。
  • Role-based Authorization Strategy https://plugins.jenkins.io/role-strategy,这个插件提供了一种基于角色(Role)的用户权限管理策略,支持创建global角色、Project角色、Slave角色,以及给用户分配这些角色。这款插件是最常用的Jenkins权限策略和管理插件。

代码管理

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

项目及视图

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

构建触发

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

  • Build periodically,Jenkins 内置功能,可以设置类似crontab时间,周期性地自动触发构建。
  • Poll SCM,Jenkins 内置功能,类似Build periodically,可以设置类似crontab时间,不同的是不是直接进行构建,而是周期性地在后台检查所配置的SCM有没有更新,只有当有代码更新时才会触发构建。
  • Trigger builds remotely (e.g., from scripts),Jenkins 内置功能,远程触发构建,通过设置token可以支持远程脚本中触发Jenkins构建。
  • Gerrit Trigger https://plugins.jenkins.io/gerrit-trigger,这个插件将Jenkins集成到Gerrit code review中,支持Jenkins配置Gerrit服务器等信息,实现Gerrit event 触发Jenkins 构建。
  • GitLab https://plugins.jenkins.io/gitlab-plugin, 这个插件将Jenkins 集成到GitLab web hook中,支持Gitlab 分支及Merge Request等相关事件触发Jenkins构建。
  • GitHub Integration https://plugins.jenkins.io/github-pullrequest ,这个插件将Jenkins集成到GitHub中,支持Gitgub分支及Pull requests 触发Jenkins 构建。
  • JIRA Trigger https://plugins.jenkins.io/jira-trigger,这个插件将Jenkins集成到Jira WebHooks中,支持Jira issue的状态等变化时触发Jenkins构建。

构建参数

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

  • nodelabelparameter https://plugins.jenkins.io/nodelabelparameter,这个插件增加了一个新的参数类型,Node 和 Label,从而使用户通过参数可以选择项目构建运行的节点。
  • 其他插件不一一列举,可以查看插件说明

     Ø  https://plugins.jenkins.io/hidden-parameter
    
     Ø  https://plugins.jenkins.io/extended-choice-parameter
    
     Ø  https://plugins.jenkins.io/validating-string-parameter
    
     Ø  https://plugins.jenkins.io/extensible-choice-parameter
    
     Ø  https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin
    

构建任务及环境

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

构建通知

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

容器化Slave

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

Admin相关插件

原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
推荐7款 Docker 认证的实用免费插件,轻松管理您的应用存储!
Docker 认证技术项目是为了帮助合作伙伴和客户识别出在质量、协作支持以及合规性等方面表现出色的容器和插件。
2178 0
Cloud Toolkit Maven 插件部署应用到阿里云 EDAS
针对 EDAS 开发者,如果当前正在使用 WAR 包或 JAR 包来部署应用,那么就可以通过 Cloud Toolkit Maven 插件部署应用到阿里云 EDAS。
9709 0
在插件里应用hsqldb和hibernate
最近计划用插件化的hibernate和嵌入式数据库来完成一些功能,目前使用的数据库是HsqlDB和Derby。 hibernate独立一个插件出来,mapping信息在本插件内维护,数据库的cfg信息则由数据库插件维护。
719 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18335 0
MAVEN学习笔记之Maven插件的应用(4)
MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId>
1216 0
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
62 0
+关注
朱志辉
有多年的软件开发架构经验,当前专注于开发者服务和开源社区的建议
6
文章
4
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载