今天介绍一个插件 matrix-project-plugin

https://github.com/jenkinsci/matrix-project-plugin

matrix 矩阵的意思,这个插件在创建的时候又显示 Multi-Configuration Projects 这个名称,中文的界面的话 叫 多配置 项目, 这名称起的着实让人很迷惑,

通过使用,可以看出来是几个参数,或者几个配置, 几个节点的一个全排列组合 这样看就像是矩阵,一共二维表格。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
其中有个 User Defined Axis 类型的选项,可以翻译为用户自定义坐标。就是用户自定义几个字段,几个字段都可以有多个值,然后全排列组合一下。

例如
定义一个User Defined Axis,名称是 target, 可以取的值是 alpha,beta,gamma 三个值
然后再定义一共User Defined Axis,名称是releasetype, 可以取的值是 debug,release 两值

这样 排列组合下来就是2乘以3就是6个组合。

alpha debug
alpha release
beta debug
beta release
gamma debug
gamma release
这组合下来 这个job 就会一共编译 这6个。






在 matrix-project 类型的job中发现 点击 某个label 时候左侧多了一个 空白的


matrix-project-plugin.jpeg

1
2
3
4
5
6
7
8
9
<div class="task"><script>function postRequest_id21215(a) {
new Ajax.Request(a.href);
hoverNotification('已完成', a.parentNode);
return false;
}</script><a onclick="return postRequest_id21215(this)" href="/" class="task-icon-link"><img src="/" alt="" style="width: 24px; height: 24px; margin: 2px;"></a>&nbsp;<a onclick="return postRequest_id21215(this)" href="/" class="task-link"></a></div>

其中在jenkins的源码jenkins/core/src/main/resources/lib/layout/task.jelly文件中搜到这个 postRequest_id21215 了.