Дженкінс трубопровід: агент проти вузла?


134

Яка різниця між агентом і вузлом у трубопроводі Дженкінса?

Я знайшов ці визначення:

  • вузол : Більшість робіт, які виконує Трубопровід, виконується в контексті одного або декількох оголошених кроків вузла.
  • агент : Директива про агент визначає, де весь трубопровід або конкретна стадія буде виконуватися в середовищі Дженкінса залежно від того, де розміщена директива про агент.

Тому обидва використовуються для виконання ступенів трубопроводу. Але коли використовувати який?

Відповіді:


145

Проста відповідь полягає в тому, що Агент призначений для декларативних конвеєрів, а вузол - для сценаріїв сценаріїв .

У декларативних конвеєрах директива агента використовується для визначення конкретного агента / підлеглого завдання / завдання. Ця директива дозволяє лише вказати, де слід виконувати завдання, який агент, підлеглий, ярлик чи зображення докера.

З іншого боку, у сценаріях конвеєрів крок вузла може бути використаний для виконання сценарію / кроку на конкретному агенті, мітці, підлеглому. Вузол крок необов'язково приймає агент або етикетку ім'я , а потім замикання з кодом , який повинен бути виконаний на цьому вузлі.

декларативні та сценарії трубопроводів (редагувати на основі коментаря):

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

5
Так і немає декларативних конвеєрів - це нове розширення DSL конвеєра (це в основному сценарій конвеєра лише з одним кроком, крок конвеєра з аргументами (називаються директивами), ці директиви повинні відповідати певному синтаксису. Суть цього нового формату: що це більш суворо, і для цього повинно бути легше для нових користувачів конвеєрів, дозволити графічне редагування та багато іншого, дивіться список функцій на вашому посиланні вище. Отже, для простого завдання я б сказав, що це рекомендований підхід, але для більш просунутого випадків, за сценарієм - це резервний запас
Jon S

6
В даний час існує 3 назви з node, agentі slave!
mkobit

2
@mkobit Так, імена доволі заплутані, я десь читав (не можу знайти посилання зараз, чи то в блозі Дженкінса, чи в Jenkins JIRA), що вони намагаються перейменувати та використовувати агент замість раба, оскільки це не як «негативне» слово. Тоді я думаю, що декларативні трубопроводи прийняли це і назвали це агентом. Думаю, вузол походить від сценаріїв, що розробляються.
Джон С

1
@DenCowboy Ага, так, я б сказав, що 4-а найкраща практика там застосовується лише до сценарію сценарію, оскільки декларативний завжди виділяє вузол, директива агента лише обмежує, який вузол виділяється.
Джон С

1
@DenCowboy Ні, він не повинен використовувати те саме, він просто використовує директиву агента, щоб спочатку визначити, який агент / підлеглий використовувати.
Джон С
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.