用油猴制作一个 Jenkins 日志窗口

上次介绍了油猴脚本的基本使用方法,这篇文章简单记录一下今天用油猴提高 Quality of Life 的一个脚本。

先描述一下我要解决的问题:

我们平时很多线上操作是通过 Jenkins 执行的,要在大规模的机器上运行任务,有时候,这些任务要运行很长时间。我一般会关注着这些自动化操作,一般进行其他的工作。我想让日志一直出现在屏幕上,但是又不影响我其他工作。

解决方法是,我在 Jenkins 页面上加了一个按钮,通过这个按钮可以打开一个最小化的窗口,效果如下:

这是新添加的按钮,点击这里,可以弹出一个日志窗口

 

弹出来的日志窗口位于左上角,没有菜单栏,没有书签栏,也没有 Extentions,基本上所有的空间都用来显示日志了。

这样做操作的时候,有实时的日志一直在滚动着,放心多了。


源代码如下:

直接粘贴到自己的油猴就能用。

核心逻辑是,如果当前页面是 Jenkins 原生的 URL(Params 没有 view_window=minimized),就在页面上插入一个链接 <a>,目标是 当前的 URL + 参数view_window=minimized 。通过代码,设置打开这个 URL 的时候关闭 menubar,toolbar,以及设置好窗口大小,位置等等。 打开一个基本上只有日志的窗口,一致放在屏幕旁边。可以用 Mac 上的 Rectangle 软件,将这个窗口固定在 Top。从这个窗口打开链接(按住 Cmd),还是用 Chrome 正常的窗口打开的,很方便。

如果监测到 URL 中有 view_window=minimized  这个参数,就删除页面内 sidebar,footbar 等,让所有的空间都用来展示日志。

操作的时候最需要的按钮是停止键,但是默认的 Jenkins 把这个按钮放到了页面的最上面,这样在底部看滚动日志,如果需要停止的话,还要拖到页面顶部去找按钮,太慢了。我用 JQuery 把它放到日志滚动下面了。

本来想做成一个 Jenkins 插件直接把公司的 Jenkins 给改了,但是看了下 Jenkins 发布插件还是挺复杂的,还得写点 Java 和 XML,可能要花上一两天。所以就直接用油猴实现了,花了半小时。



用油猴制作一个 Jenkins 日志窗口”已经有2条评论

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注