基于Jenkins及其插件生态实现自己的持续交付与DevOps平台。

jenkins 插件官网

  • Blue Ocean  Jenkins2.7以后可安装,是Jenkins的一种新视图,能够通过图形化的界面创建和编辑Jenkinsfile,实现pipeline as code

用户及权限

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

  • l  LDAP (https://plugins.jenkins.io/ldap),这个插件允许使用LDAP对用户进行认证,LDAP 服务器可以为Active Directory 或者 OpenLDAP。
  • l  Active Directory https://plugins.jenkins.io/active-directory,这个插件允许使用Active Directory对用户进行认证,同时结合诸如Matrix Authorization Strategy插件,可以识别用户所在的所有用户组,对用户授权进行灵活配置。
  • l  基于Windows Active Directory进行域管理的企业,推荐采用Active Directory。
  • l  GitHub Authentication https://plugins.jenkins.io/github-oauth,这个插件提供了使用GitHub进行用户认证和授权的方案。
  • l  Gitlab Authentication https://plugins.jenkins.io/gitlab-oauth,这个插件提供了使用GitLab进行用户认证和授权的方案。
  • l  Matrix Authorization Strategy https://plugins.jenkins.io/matrix-auth,这个插件提供了基于矩阵的授权策略,支持全局和项目级别的配置。
  • l  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的管理,是用户日常工作中使用很多的功能。

  • l  Folder https://plugins.jenkins.io/cloudbees-folder,这个插件支持用户使用目录管理项目,目录支持嵌套,并且支持目录中创建视图。
  • l  List view Jenkins 默认支持List类型的视图,用户可以创建List视图过滤所关心的项目。
  • l  Sectioned View https://plugins.jenkins.io/sectioned-view,这个插件支持一种新的视图,视图可以分为多个部分,每部分可以单独配置显示所选择的项目信息。
  • l   Nested View https://plugins.jenkins.io/nested-view,这个插件支持一种新的视图,其表示直接显示项目,而是以目录图标显示所包含的子视图,每个子视图显示所选项目信息。
  • l  Build Pipeline https://plugins.jenkins.io/build-pipeline-plugin,这个插件提供了一种Build Pipeline 视图,用于显示上、下游项目构建的关系。

构建触发

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

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

构建参数

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

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

Ø  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支持多种主动和被动的通知方式。

  • l  Mailer  https://plugins.jenkins.io/mailer,这个插件支持基本的邮件通知功能,比如构建失败和构建恢复成功可以发送邮件通知给相关人员。
  • l  Email Extension https://plugins.jenkins.io/email-ext,这个插件是邮件通知的扩展,支持定制邮件内容,触发条件以及邮件接收者,功能比基本邮件通知要灵活强大的多。
  • l  Slack Notification https://plugins.jenkins.io/slack,这个插件支持把构建结果推送到Slack channel。

容器化Slave

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

Admin相关插件

Jenkins系列之-—DevOps高效插件推荐【转】的更多相关文章

  1. Jenkins - 【转】高效插件推荐

    特别说明:本文是在原文基础上的改写和添加,但总体不影响原文表达,特此说明. 原文链接 - Jenkins 高效插件推荐 | 运维生存时间 前言 开源版本的Jenkins具有三大能力: Master-S ...

  2. jenkins系列(9)--插件之Archive The Artifacts

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  3. Android Studio开发-高效插件强烈推荐

    Android Studio开发-高效插件强烈推荐 现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行).使用好And ...

  4. jenkins系列之插件配置(二)

    第一步:下面来安装nodejs插件 第二步:可以看到,Jenkins提供了丰富的插件供开发者使用,找到需要的[NodeJS Plugin],勾选后点击安装即可 我的是已经安装了 第三步: 安装完毕后, ...

  5. Jenkins系列-Jenkins插件备份

    Jenkins管理插件 为了让所有的插件在 Jenkins 内可用,所有插件的列表可以访问链接 − https://wiki.jenkins-ci.org/display/JENKINS/Plugin ...

  6. 【IDEA】intellij idea 插件推荐

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 [IDEA]intellij idea ...

  7. 工欲善其事必先利其器之Xcode高效插件和舒适配色

    功能强大的Xcode再配上高效的插件,必会让你的开发事半功倍.直接进入正题. Xcode插件安装方式: 1.github下载插件然后用xcode打开运行一遍,然后重启xcode. 2.安装插件管理Al ...

  8. Jenkins系列——使用checkstyle进行代码规范检查【升级版】

    1.背景 在<Jenkins系列——使用checkstyle进行代码规范检查>一文中完成了ant实现代码规范检查的例子.但存在以下缺陷: 每个作业都需要配置一个不同的checkstyle ...

  9. Jenkins系列之四——设置邮件通知

    Jenkins持续集成,当我们自动打包部署完,我们可以发送一封邮件给相关的负责人.现介绍一下如何在Jenkins中配置实现邮件通知. 在Jenkins中配置实现邮件通知,Jenkins提供了两种方式的 ...

随机推荐

  1. JMeter压测上对于并发的认识误区

    1.误区 在JMeter压测过程中,我们通常认为1s内100的并发量(即:QPS为100)的设置如下: 此时,没有再添加额外的控制器.上述中的参数设置解释:Number of Threads(user ...

  2. return & exit . in GO

    return结束当前函数,并返回指定值runtime.Goexit结束当前goroutine,其他的goroutine不受影响,主程序也一样继续运行os.Exit会结束当前程序,不管你三七二十一

  3. 使用evenlet包实现 concurrent.futures.executor包的鸭子类

    适配成同一个同样的公有方法. # -*- coding: utf-8 -*- # @Author : ydf # @Time : 2019/7/3 10:35 import time import w ...

  4. JDK8:Lambda根据 单个字段、多个字段,分组求和

    使用lambda表达式分别 根据 单个字段.多个字段,分组求和 示意图: 1.根据 单个字段,分组求和:根据2019这个字段,计算一个list集合里,同属于2019的某个字段累加和 2.根据 多个字段 ...

  5. GhostVLAD for set-based face recognition

    GhostVLAD for set-based face recognition 中提到了文章解决的是template-based face recognition. VLAD: vector of ...

  6. java html实体转义

    public static void main(String[] args) { String str = " -<->-&-"-&apos;" ...

  7. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  8. Android studio配置国内镜像源

    Android studio配置国内镜像源 不使用镜像也是可以的,据说谷歌在中国搭建了服务器 如果直接使用有问题,不妨使用镜像试试.有自动探测代理配置和手动代理配置. https://blog.csd ...

  9. 无限用teamviewer的一种方法,虚拟机中装teamviewer

    可以使用window 多用户可以同时远程登陆的特性(win服务器版自动支持多用户同时远程登陆,非服务器版需要其他方法开启) 1.在window建立两个用户,如a,b. 2安装虚拟机vmware,安装操 ...

  10. 218. The Skyline Problem (LeetCode)

    天际线问题,参考自: 百草园 天际线为当前线段的最高高度,所以用最大堆处理,当遍历到线段右端点时需要删除该线段的高度,priority_queue不提供删除的操作,要用unordered_map来标记 ...