Конвейер Дженкинса: агент против узла?
В чем разница между агентом и узлом в конвейере Дженкинса?
Я нашел эти определения:
- узел: Большая часть работы, выполняемой конвейером, выполняется в контексте одного или нескольких объявленных шагов узла.
- агент: директива агента указывает, где весь конвейер или конкретный этап будет выполняться в среде Jenkins, в зависимости от того, где размещена директива агента.
Таким образом, оба используются для выполнения шагов конвейера. Но когда использовать какой?
1 ответ
Ответ прост: агент для декларативных конвейеров, а узел для скриптовых конвейеров.
В декларативных конвейерах директива агента используется для указания, на каком агенте / подчиненном должно выполняться задание / задача. Эта директива только позволяет вам указать, где задача должна быть выполнена, какой образ агента, подчиненного устройства, метки или докера.
С другой стороны, в скриптовых конвейерах шаг узла может использоваться для выполнения сценария / шага для конкретного агента, метки, ведомого устройства. Шаг узла по выбору принимает имя агента или метки, а затем замыкание с кодом, который должен быть выполнен на этом узле.
декларативные и скриптовые конвейеры (редактирование на основе комментария):
- декларативные конвейеры - это новое расширение конвейерной DSL (в основном это конвейерный скрипт с одним шагом, конвейерным шагом с аргументами (так называемыми директивами), эти директивы должны следовать определенному синтаксису. Смысл этого нового формата в том, что он более строгий и, следовательно, должен быть проще для новичков в конвейерах, допускает графическое редактирование и многое другое.
- Скриптовые конвейеры - это запасной вариант для расширенных требований.