我在 Jenkins 中有一个矩阵配置项目,我想在两个轴下构建它:
标签 -> rhel6
,rhel7
用户定义 -> default
, devtoolset
, clang
,icc
有些节点被标记为rhel6
,有些被标记为rhel7
。所有节点都安装了default
、devtoolset
和clang
编译器。但是,只有一些节点安装了icc
编译器。它们被icc
应用了标签。所有所述节点也都带有标签rhel7
:没有rhel6
带有 的节点icc
。我应该在组合过滤器中输入什么,以便icc
仅在带有标签的节点上构建行icc
?例如,我想看到的是:
Configuration Matrix rhel6 rhel7
default O O
devtoolset O O
clang O O
icc X O
但是该icc
行不能在任何节点上构建,只能在具有标签的节点子rhel7
集上构建。rhel7
icc
通过添加额外的标签列和以下表达式,我能够使其在技术上发挥作用:
(label=="icc").implies(compiler=="icc") && (compiler=="icc").implies(label=="icc")
但会产生以下内容:
Configuration Matrix icc rhel6 rhel7
default X O O
devtoolset X O O
clang X O O
icc O X X
这肯定没有达到应有的清洁程度。有什么想法吗?