私はdeclarative Jenkins pipelinesを使用してビルドパイプラインのいくつかを実行していて、複数のエージェントラベルを定義できるかどうか疑問に思っていました。宣言型Jenkinsパイプラインで複数のエージェントラベルを定義できますか?
Jenkinsに数多くのビルドエージェントが接続されていて、この特定のパイプラインが、異なるラベル(ただし、すべてのエージェントではありません)を持つさまざまなエージェントによって構築できるようにしたいと考えています。
より具体的には、ラベルが「小」のエージェントが2つ、ラベルが「中」のラベルが4つ、ラベルが「大」のラベルが6つあるとします。今私は非常にリソースの低いパイプラインを持っています。そして、私はそれがキュー内でより大きなビルドを待たせるかもしれないので、「小さい」または「中規模」のエージェントでのみ実行されたいが、不必要に長い時間です。
私が今まで見たすべての例では、1つのラベルしか使用していません。 私はこのようなものを試しました:
agent { label 'small, medium' }
しかし、それは失敗しました。
私はJenkins Pipeline Pluginのバージョン2.5を使用しています。
ああ、実際に働いていたね。宣言型パイプラインの場合、エージェント{label 'small || medium'}のようになります。ありがとう。 – FrontSide
OPは何を要求したのではなく、AND演算子(&&)は両方のラベルが必要な場合にもうまく機能します: 'node( 'small && medium')'と演算子とラベルの間にスペースを入れることができます。 – firepol