1

ユーザーの選択に基づいてノード/スレーブを選択するように、jenkinsジョブを構成しようとしています。

example : if choice = windows ->slave1
          if choice = Linux ->slave2

構成マトリックスを試してみましたが、ノードがオフラインであるというエラーが表示されます.jenkinsでそのような選択を行うプラグインはありますか

4

3 に答える 3

3

最も簡単な方法は、特定のスレーブにタグ付けされる 2 つのビルド ジョブを作成することです。ジョブを構成するときに、このジョブの要件を指定するラベルをジョブに追加できます。例:

  • linux-build、ラベル linux を追加
  • windows-build: ラベル windows を追加します

次に、スレーブを作成するときに、それらにラベルを割り当て、機能を指定する必要があります。

例:

  • Windows システム、Windows ラベルを追加
  • Linux システム、linux ラベルを追加

この後、ビルドは自動的に正しいシステムに移動し、再度何も指定する必要はありません。これは、ジョブを手動で指定してトリガーするよりも優れています。

もう1つの利点は、ジョブが失敗した場合、その理由がわかります.Linuxジョブは常に成功しますが、Windowsジョブは常に失敗する可能性があります。これを1つのジョブに組み合わせると、このパターンは実際にはわかりませんが、2つの別々のビルドがある場合はすぐにあなたの窓の上に暗い雲が形成されるのを見てください.

于 2013-06-10T01:58:15.593 に答える
3

次のプラグインをチェックアウトします。

于 2013-06-09T21:27:22.570 に答える
1

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 を追加します。

それが役に立てば幸い。

于 2013-10-22T06:56:15.840 に答える