2017-09-26 4 views
0

Jenkins REST APIを使用して現在実行中のビルドをすべて取得するスクリプトを作成しています。私は、スレーブノードで実行するジョブを制限し、パイプライン定義のGroovyスクリプトでJenkinsのOneOffExecutorの英語の説明は何ですか?

{ 
    "computer": [ 
     { 
      "displayName": "master", 
      "executors": [...] 
      "oneOffExecutors": [ 
       { 
        "currentExecutable": {<my_pipeline_job_info>} 
       } 
      ] 
     }, 
     { 
      "displayName": "slave1", 
      "executors": [ 
       { 
        "currentExecutable": null, 
        ... 
       }, 
       { 
        "currentExecutable": null, 
        ... 
       } 
       ] 
     } 
    ] 
} 

node("slave_label") {...} 

私はの形式でcomputer/api/jsonからノードとその執行情報のリストを取得することができます実際にスレーブノードで動作していますが、上記のJSONレスポンスでは、各スレーブノードの下にある「executors」セクションには表示されません。代わりに、マスターノードのoneOffExecutorsにあります。一時的に は定期的に執行を消費しないタスクを実行するために追加されます

キュータ、行列プロジェクトの親のように:

私はクラスのJavaDocの1行を除いてoneOffExecutorsのいずれかの良い説明を見つけることができませんでしたビルド。

したがって、oneOffExecutorとは何ですか?なぜ私のパイプラインジョブがスレーブノードの通常のエグゼキュータで実行されていないのですか?

答えて

-1

スレーブの実行者は、アイドルでないときに何かを返すべきです。代わりに、それはoneoffexecutorに現れます。私は同じ問題に直面しています。スレーブのエグゼキュータが空であるため、どのスレーブがどのビルドを実行しているのか分かりませんが、区別できません。

洞察が得られたら、分かち合いましょう。

+0

これは質問に対する回答ではありません。コメントです。代わりに既存の投稿にコメントするには、コメント機能を使用します。 –

+0

私はポイントを持っていないので、私は現時点でコメント機能を使用することはできません。私はこの問題に悩まされています、そして、ただyuahaoだけが私を助けることができます。 これを今のままにしておくことはできますか?ありがとう –

関連する問題