• Jenkins: 配置信息变更历史


    像 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 管理员都会对之爱不释手。

  • 相关阅读:
    c语言产生随机数的方法
    二叉树递归建立
    二叉树的非递归建立
    建立链表并逆序打印该链表
    C语言中最常用标准库函数
    九个uname命令获取Linux系统详情的实例
    Ubuntu12.04安装Chrome浏览器,并添加到左侧的启动栏
    编程判断大端字节序和小端字节序
    将十进制转换成二进制输出,递归写法
    Lucene介绍及简单入门案例(集成ik分词器)
  • 原文地址:https://www.cnblogs.com/sparkdev/p/7294728.html
Copyright © 2020-2023  润新知