Build Monitor View插件:3:一个排序选项的BUG

Build Monitor View插件:3:一个排序选项的BUG_第1张图片
前面的文章介绍了Build Monitor View的概要信息、特性与安装方法,这篇文章继续介绍此插件的具体使用方法,以及出现问题的暂定对应方式。

概要介绍与安装

详细信息可参看如下内容:

  • https://liumiaocn.blog.csdn.net/article/details/103191054

事前准备

我们通过准备一一些预先创建的job, 可使用easypack上准备的脚本和设定文件进行快速创建。

liumiaocn:jenkins liumiao$ i=0; while [ $i -lt 20 ];
> do
> i=`expr $i + 1`
> echo "[${i}]: create test_job_${i} "
> sh mgnt_jenkins_demo.sh JOBCREATE when test_job_${i}
> echo
> done
[1]: create test_job_1 
[JENKINS Crumb]: Jenkins-Crumb:c8d3e1a4b0761c884af20bb0696afb87
JOB Creation Begins ...
JOB Creation Ends   ...

...省略

[20]: create test_job_20 
[JENKINS Crumb]: Jenkins-Crumb:c8d3e1a4b0761c884af20bb0696afb87
JOB Creation Begins ...
JOB Creation Ends   ...

liumiaocn:jenkins liumiao$

创建方法详细可参看:https://liumiaocn.blog.csdn.net/article/details/103207541

创建Build Monitor View

创建一个名为Build Monitor View的视图,然后选中上述创建的20个Job(此插件显示多个job时单列显示,下拉条在鼠标出范围时为隐藏状态)
Build Monitor View插件:3:一个排序选项的BUG_第2张图片
而如果使用正则方式,比如输入test_job*,目前版本似乎无法直接将所有job直接选中至视图之中,所以采取了上述方式。
在这里插入图片描述
选中job之后创建视图,可以看到结果如下所示:

上述job状态均为灰色,其原因是因为上述创建的job状态如下所示
Build Monitor View插件:3:一个排序选项的BUG_第3张图片

  • BUG1:
    发现BUG一枚,在Last Duration为N/A的状态下,修改Build Monitor View显示的顺序(缺省使用Name进行排序),如果修改为Estimated duration时
    在这里插入图片描述
    页面会无法显示,会提示如下错误

    由于修改和设定或者删除此视图需要进入此Build Monitor View视图中,而一旦点击就出现上述问题,导致无法修改,这就完美的形成了一个死循环。要想使用(点击进入视图),必须要要先修改设定,要想修改设定必须能够先先点击进行入视图。查看了一下Jenkins的日志,可以看到出现了和此插件相关的错误信息,大概率可能是缺少判空
WARNING: Caught exception evaluating: it.isEmpty() in /view/Build%20Monitor%20View/. Reason: java.lang.ClassCastException: org.jenkinsci.plugins.workflow.job.WorkflowJob cannot be cast to hudson.model.AbstractProject
java.lang.ClassCastException: org.jenkinsci.plugins.workflow.job.WorkflowJob cannot be cast to hudson.model.AbstractProject
	at com.smartcodeltd.jenkinsci.plugins.buildmonitor.order.ByEstimatedDuration.compare(ByEstimatedDuration.java:9)
	at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
	at java.util.TimSort.sort(TimSort.java:220)
	at java.util.Arrays.sort(Arrays.java:1512)
	at java.util.ArrayList.sort(ArrayList.java:1462)
	at java.util.Collections.sort(Collections.java:175)
.. 省略

不过将上述20个Job全部构建成功依然出错,更为尴尬的事情是此插件从2018年9月开始到现在已经没有更新了,所以直接想原作者提issue估计也不会得到回应。

BUG暂定对应方法

Build Monitor View插件的设定信息保存在JENKINS_HOME下的config.xml文件中,所以直接修改此文件即可。

/data/jenkins # cp config.xml config.xml.org
/data/jenkins # vi config.xml
/data/jenkins # diff config.xml config.xml.org 
--- config.xml
+++ config.xml.org
@@ -67,7 +67,7 @@
       
         false
         Name
-        
+        
       
     
   
/data/jenkins #

修改完毕之后重启Jenkins,然后再次点击前面创建的视图,即可发现可以进入了

然后再确认一下排序也已经是正确的了
Build Monitor View插件:3:一个排序选项的BUG_第4张图片
如果只是手欠点了一下,最快的方式是点击页面的回退,一旦关闭页面或者浏览器之后,由于作者继续维护的频度很低,短时间内出现类似的情况,只能使用本文提到的方式了。此BUG在没有选中job时不会显示,如果一旦选中具体的job,又选中了此项排列方式的话就会出错了,看起来像是测试不足导致的问题。

你可能感兴趣的:(#,Jenkins插件,#,Jenkins)