私は Jenkins にマトリックス構成プロジェクトを持っており、これを 2 つの軸で構築したいと考えています。
ラベル -> 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
これは明らかに、あるべきほどきれいではありません。何かアイデアはありますか?