像 Jenkins 这样的系统,使用的过程就是配置文件变更的过程。如果能够对配置文件的变更进行跟踪管理,将极大的提高系统的可用性。Job Configuration History 插件就是这么一款实用而精巧的组件。很显然,相对于它的功能而言,它的名字实在是太低调了。因为它不仅能处理 Job Configuration 的变更历史,还能够处理系统级别的配置变更历史。

安装 Job Configuration History 插件

在 Jenkins->Plugin Manager 界面中选择 "Available" 标签页,输入 "Job Configuration History" 进行过滤:

点击安装并重启的按钮就可以啦!

Overview 视图

安装完成后,主页的菜单项中已经添加了 "Job Config History" 菜单:

点击该菜单进入插件的 Overview 视图:

在这里我们可以总览系统中的配置变更(其实是系统配置和所有根及项目的配置),并且可以通过左上方的菜单项或者是正上方的链接过滤出 "系统配置"、"Job 配置"、"创建 Job 的配置" 以及 "删除 Job 的配置" 的历史记录。并且可以查看历史记录中配置文件的内容。

Agent Config History 视图

下面我们通过 Agent Config History 视图来介绍该插件对配置文件历史数据的强大处理能力。选择并进入一个 Agent 的信息界面:

选择 "Agent Config History":

我们可以选择不同的配置版本进行比较,或者是用历史版本覆盖当前的版本。
我们选择不同的版本,然后点击 "Show Diffs" 按钮:

上图主要是对比不同版本配置文件的差异,但是看到这么多的按钮确实让人有点不知所措。它们的操作为:

Prev:左右两个文件都更新为前一个版本(时间上比当前版本更早的一个版本)。
Next:左右两个文件都更新为下一个版本(时间上比当前版本更晚的一个版本)。

左 Shrink Diff:左边文件更新为时间上比当前版本更晚的一个版本。
左 Expand Diff:左边文件更新为时间上比当前版本更早的一个版本。

右 Shrink Diff:右边文件更新为时间上比当前版本更早的一个版本。
右 Expand Diff:右边文件更新为时间上比当前版本更晚的一个版本。

Restore this configuration:用某个历史版本的配置信息覆盖当前的配置信息。

乍一看让人倍感凌乱的按钮,在细看之下发现每个按钮的功能都不可替代。它们组合在一起可以让我们方便的对比文件的不同版本。并且可以轻松的把配置回滚到某个历史时刻。

Job Config History 视图

和 Agent Config History 视图类似,Job Config History 视图提供了 Job 配置的历史版本管理界面。在 Job 的信息界面点击 “Job Config History”即可打开,具体功能和使用方法和 Agent Config History 视图相同,因而不再赘述。
对于 Job Config,Job Configuration History 插件提供的另一个有用功能是在 Build 的历史记录中显示配置文件的变化记录:

从上图中我们可以清楚的看到具体某次 Build 时配置文件发生了变化,点击小图标还能看到配置文件变化的具体内容:

这能够极大的提高我们调试配置文件时的生产力,尤其是当错误发生时,我们可以立即定位是哪些配置的变化导致 Build 失败了。

实现原理

Job Configuration History 是一款非常实用的插件,我们不禁会好奇,它是如何实现的呢?
答案可能会让人有点失望,因为它的思路很简单:当配置发生变化时,就把旧的配置文件复制一份存起来!旧配置文件的存放路径默认就在 Jenkins 安装目录下的 config-history 目录中:

不管是系统级别配置的历史记录,还是 Job、Agent 配置的历史记录,全都被按照一定的规则组织放置在这个目录下。

总结

Job Configuration History 插件兼具低调、实用和设计简单等优点,实为居家、旅行之必备良品!相信每一个 Jenkins 管理员都会对之爱不释手。

Jenkins: 配置信息变更历史的更多相关文章

  1. allure用法(一)-配置信息及基本用法

    allure是一个轻量级的,灵活的,支持多语言的测试报告工具 优点: 可以为dev/qa 提供 详尽的测试报告.测试步骤.日志 可以为管理层提供更好的统计报告 Java语言开发的 可以集成到jenki ...

  2. jenkins 备份配置信息

    本文介绍几种备份jenkin配置信息的方法,大家可根据实际情况做出选择. 我的测试环境如下: windows 7 jenkins 2.32.3 ____升级到___2.46.3 (长期支持版本) 多种 ...

  3. Jenkins配置自动化构建

    转自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html Jenkins 简介和安装(一) (2014-12-02 21:18:13 ...

  4. Jenkins配置 管理

    Jenkins配置 你可能已经看了前面几次练习了,其中我们不得不在Jenkins配置选项.下表列出了Jenkins 的各种配置选项. 因此,可以通过点击左侧菜单侧的 “Manage Jenkins”选 ...

  5. 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置

    安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...

  6. Jenkins配置基于角色的项目权限管理--转

    本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...

  7. HBASE学习笔记--配置信息

    hbase的配置信息,在hbase-site.xml里面有详细说明. 可以按照需要查询相关的配置. <?xml version="1.0"?> <?xml-sty ...

  8. jenkins配置角色访问

    本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...

  9. Jenkins 配置邮件通知

    jenkins 是一个开源的自动化服务器.通过Jenkins,可以通过自动化加速软件开发过程.Jenkins管理和控制各种开发的生命周期过程,包括构建,文档,测试,包,阶段,部署,静态分析等等.您可以 ...

随机推荐

  1. thinkphp带查询条件的分页

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  2. 如何维持App拥护登录状态(仅仅理论)

    这个问题太过于常见,也过于简单,以至于大部分开发者根本没有关注过这个问题,我根据和我沟通的开发者中,总结出来常用的方法有以下几种: 一:服务端默认的session 这种方式最大的优点是服务端不用增加任 ...

  3. stringsteam使用之整型转字符串

    最近需要用到整型转字符串的操作,学习了stringstream一些皮毛. 首先需要包含头文件. #include<sstream> 然后用流操作的方式将值传递给stringstream对象 ...

  4. 3.ubuntu如何安装搜狗输入法

    1.http://blog.csdn.net/qq_21792169/article/details/53152700 2.http://jingyan.baidu.com/article/54b6b ...

  5. 一篇文章学懂Shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合.Shell可以直接使用在win/Unix/Linux上面, ...

  6. Java基础(7)-异常处理

    异常处理 异常继承层次 Throwable |-Error 致命的错误无法处理 |-Exception |-IOException 系统资源读取失败等错误 |-RuntimeException(未检异 ...

  7. Linux 安装依赖库

    ###安装依赖库###yum -y install rsync net-snmp syslog net-snmp-devel wget patch screen gcc gcc-c++ autocon ...

  8. 投票系统 & js脚本简单刷票

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 基于JAX-WS的WebService实现

    JAX-WS是一套Java用于开发XML Web Services的技术规范,它的实现一般有CXF.AXIS和JDK(version>=1.6),借助这些我们可以进行SOAP服务开发. CXF和 ...

  10. Teacher implements java.io.Serializable

    package JBJADV003; public class Teacher implements java.io.Serializable{ private String name; privat ...