Подтвердить что ты не робот

Jenkins: агент vs node?

В чем разница между агентом и node в конвейере дженкинсов?

Я нашел эти определения:

  • node: Большая часть работы, которую выполняет Pipeline, выполняется в контексте одного или нескольких объявленных шагов node.
  • agent: директива агента указывает, где весь трубопровод или конкретный этап будет выполняться в среде Jenkins в зависимости от того, где агента.

Таким образом, оба используются для выполнения шагов конвейера. Но когда использовать какой?

4b9b3361

Ответ 1

Ответ прост: Агент предназначен для декларативных конвейеров, а узел предназначен для сценариев конвейеров.

В декларативных конвейерах директива agent используется для указания, на каком агенте/подчиненном должно выполняться задание/задание. Эта директива только позволяет вам указать, где задача должна быть выполнена, какой образ агента, подчиненного устройства, метки или докера.

С другой стороны, в скриптовых конвейерах шаг узла можно использовать для выполнения сценария/шага для конкретного агента, метки, ведомого устройства. Шаг узла необязательно принимает имя агента или метки, а затем замыкание с кодом, который должен быть выполнен на этом узле.

декларативные и скриптовые конвейеры (редактирование на основе комментария):

  • декларативные конвейеры - это новое расширение конвейерной DSL (это в основном конвейерный скрипт с одним шагом, конвейерным шагом с аргументами (называемыми директивами), эти директивы должны следовать определенному синтаксису. Смысл этого нового формата что он более строгий и поэтому должен быть проще для новичков в конвейерах, допускает графическое редактирование и многое другое.
  • конвейерные сценарии - это запасной вариант для расширенных требований.