Авторизация
Войти
Константин Назаров
Parallels, Москва

Распараллеливание сборки Parallels Desktop для Mac

Доклад в секции «Технологии»

Идея доклада — рассказать об использовании Jenkins как не типичного инструмента для построения распределенной сборки продукта, зарабатывающего миллионы долларов. Мы поделимся секретами его адаптации под сборку билдов сложных систем/продуктов с многими компонентами и ускорения в разы этой задачи.

fb vk tw

Наша проблема: линейная сборка продукта занимает 8 часов. А Jenkins «из коробки» не умеет собирать сложные иерархии. При этом писать код самостоятельно не хочется. В итоге мы придумали, как использовать существующий инструмент, пройдясь по нему напильником.

Кому будет интересно: Эти знания могут помочь людям, которые хотят построить эффективный CI, но не хотят тратить много времени на исследования.

Мы выложим наш код и материалы на GitHub. Это будет довольно практично.

Лайфхаки:

  1. Используем Build Flow + Groovy скрипты чтобы оркестрировать сложную иерархию с параллельными ветвями и собирать результаты
  2. Правильное использование префиксов в названиях job-ов помогают автоматизировать группировку по бранчам
  3. Переиспользуем окружения сборки много раз, не удаляя их
  4. Предыдущий пункт в итоге оставляет за собой кучу мусора, которую мы периодически очищаем при помощи системных Groovy скриптов по job префиксу
  5. Группировка большого количества job-ов в проекты и бранчи с использованием Nested View
  6. Дамп и разворачивание job-ов из системы контроля версий по шаблону

Ну и взгляд в будущее: автоматический анализ билд проблем.

Дата и время
4 октября 15:00
Зал
Кострома-Казань
Длительность
50 минут
Сергей Котырев может управлять любым человеком

официальный твиттер зайца несудьбы

@rabbitnoway