Squeak.ru - шаблоны программирования

Параллельный шаг Jenkins Workflow и конфигурация Jenkins

В настоящее время я изучаю, как лучше всего использовать параллельный шаг в сценарии Jenkins Workflow, и я просто пытаюсь прояснить свое понимание того, как это работает.

parallel(firstTask: {
    node {
       // Do some stuff
    }
}, secondTask: {
    node {
        // Do some other stuff
    }
})

В этом случае будет ли каждая задача, поскольку она содержится в узле, использовать исполнителя? Если бы у меня не было узловых блоков, задача по-прежнему выполнялась бы одновременно?

Предположительно, наиболее эффективным решением является запуск каждого узла на отдельном ведомом устройстве?

В настоящее время я использую установку с одним главным блоком с двумя исполнителями (хотя, поскольку это четырехъядерная машина, я думаю, что мог бы увеличить это), и я просто пытаюсь оценить лучший способ использования параллельного шага. или действительно ли в этой настройке не стоит беспокоиться об этом.


Ответы:


1

Если бы у меня не было узловых блоков, задача по-прежнему выполнялась бы одновременно?

Да, это:

parallel(firstTask: {
   // Do some stuff
}, secondTask: {
   // Do some other stuff
})

будет работать непоследовательно.

Например, с подключаемым модулем Build Flow:

   build("job 1")

   parallel
   (
      {build("job 2")}
      {build("job 3")}
   )

   build("job 4")

Если у вас 2 исполнителя, то вы можете запускать 2 задания параллельно. Если вы хотите запускать больше заданий параллельно, вам нужно будет увеличить номер исполнителя (через конфигурацию узла). Для небольшого количества заданий это может сработать, но вы можете быстро создать беспорядок из связанных определений заданий.

Вот почему вы также можете взглянуть на плагин Multijob.

Это позволяет определить «Фазы». Фазы выполняются последовательно. Но каждая «Фаза» может выполнять множество заданий параллельно. Это позволяет использовать следующий рабочий процесс: «обрабатывать параллельные задания этапа 1 (пока все не будут завершены), затем переходить к этапу 2».

Предположительно, наиболее эффективным решением является запуск каждого узла на отдельном ведомом устройстве?

На это нелегко ответить. Это зависит от проекта.

Настройка Jenkins, ориентированная на производительность, часто используется, когда разработчики хотят быстро получить артефакты сборки.

Я бы попробовал работать с одним блоком и ввести следующее подчиненное устройство при достижении определенной максимальной рабочей нагрузки с целью сократить общее время сборки. Другими словами: вы можете следить за использованием ЦП и измерять/сравнивать время сборки, экспериментируя с различными настройками Jenkins, это, вероятно, тестирование A/B.

22.10.2015

2

Попробуйте это, ссылка

Вы также можете запускать параллельные задания с передачей параметров.

пример:

   parallel
   (
    {build("job 1", param1:"value1",param2:"value2")}
    {build("job 2",param1:"value1")}
   )
23.10.2015
  • Я думаю, что это для плагина Build Flow, а не для Workflow. 27.10.2015
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...