1. ホーム
  2. jenkins

[解決済み] Jenkinsパイプライン:エージェントとノードの違い?

2022-04-23 21:42:49

質問

とはどのような違いがあるのでしょうか。 エージェント ノード をjenkinsパイプラインで使用することはできますか?

そのような定義がありました。

  • ノード : Pipelineは、1つまたは複数の宣言されたノードステップのコンテキストで作業の大部分を実行します。
  • エージェント : Agentディレクティブは、Jenkins環境において、Pipeline全体、または特定のステージが実行される場所を、Agentディレクティブが配置された場所に応じて指定します。

つまり、パイプラインのステップを実行するために両方が使用されます。しかし、いつどちらを使えばいいのでしょうか?

どのように解決するのですか?

答えは簡単です。 エージェント 宣言的 パイプラインと ノード スクリプト パイプライン

宣言型パイプラインでは エージェント ディレクティブは、ジョブ/タスクがどのエージェント/スレーブで実行されるかを指定するために使用されます。このディレクティブで指定できるのは、タスクが実行される場所、エージェント、スレーブ、ラベル、ドッカーイメージのみです。

一方、スクリプト化されたパイプラインでは ノード ステップは、特定のエージェント、ラベル、スレーブでスクリプトやステップを実行するために使用することができます。そのため ノード ステップでは、オプションでエージェントやラベルの名前と、そのノードで実行されるコードを含むクロージャを受け取ります。

宣言型パイプラインとスクリプト型パイプライン(コメントに基づいて編集します)。

  • 宣言的パイプライン はパイプラインDSLの新しい拡張です(基本的にパイプラインスクリプトで、1つのステップ、パイプラインステップに引数(ディレクティブと呼ばれます)があり、これらのディレクティブは特定の構文に従わなければなりません)。この新しいフォーマットのポイントは、より厳密であるため、パイプラインの初心者にとって容易であること、グラフィカルな編集が可能であること、その他多くの点です。
  • スクリプトパイプライン は、高度な要件に対応するためのフォールバックです。