ユーザーの選択に基づいてノード/スレーブを選択するように、jenkinsジョブを構成しようとしています。
example : if choice = windows ->slave1
if choice = Linux ->slave2
構成マトリックスを試してみましたが、ノードがオフラインであるというエラーが表示されます.jenkinsでそのような選択を行うプラグインはありますか
ユーザーの選択に基づいてノード/スレーブを選択するように、jenkinsジョブを構成しようとしています。
example : if choice = windows ->slave1
if choice = Linux ->slave2
構成マトリックスを試してみましたが、ノードがオフラインであるというエラーが表示されます.jenkinsでそのような選択を行うプラグインはありますか
最も簡単な方法は、特定のスレーブにタグ付けされる 2 つのビルド ジョブを作成することです。ジョブを構成するときに、このジョブの要件を指定するラベルをジョブに追加できます。例:
次に、スレーブを作成するときに、それらにラベルを割り当て、機能を指定する必要があります。
例:
この後、ビルドは自動的に正しいシステムに移動し、再度何も指定する必要はありません。これは、ジョブを手動で指定してトリガーするよりも優れています。
もう1つの利点は、ジョブが失敗した場合、その理由がわかります.Linuxジョブは常に成功しますが、Windowsジョブは常に失敗する可能性があります。これを1つのジョブに組み合わせると、このパターンは実際にはわかりませんが、2つの別々のビルドがある場合はすぐにあなたの窓の上に暗い雲が形成されるのを見てください.
次のプラグインをチェックアウトします。
Jenkins CLI を使用して動的スレーブ選択を実装しました。1) 2 つのジョブを作成します: ジョブ A はジョブ B をトリガーします 2) ジョブ A で、Build/Execute Shell に次のように入力します
if choice = windows, SERVER=slave1
if choice = Linux, SERVER=slave2
java -jar jenkins-cli.jar -s http_to_jenkins-server:port build buildname -p SERVER_LABEL=$SERVER -v -w --username yourusername --password yourpassword
3) ジョブ B で、[このビルドはパラメーター化されています] を選択し、文字列パラメーター SERVER を追加します。
それが役に立てば幸い。