我在 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
這絕對沒有應有的乾淨。有任何想法嗎?