ABF 2.0 — новая система сборки

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Вместе с новым годом, на ABF пришла новая сборочная подсистема. Изначально ее можно было использовать ее для сборки пакетов в персональные репозитории, а после успешного тестового периода вся сборка была переведена на нее.

Что вы получаете от использования новой системы сборки?

  • улучшенная стабильность, масштабируемость и безопасность; в частности, для пользовательских задач теперь используются временные виртуальные машины;
  • возможность отмены уже запущенных заданий (до настоящего времени можно было отменять только задания, ожидающие сборки);
  • сокращенный автоматически обновляемый журнал всех стадий процесса сборки в веб-интерфейсе (ранее был доступен только журнал непосредственно сборки). Все подробные журналы также доступны, как и раньше;
  • универсальные сборочные клиенты: любой дистрибюутив получит столько клиентов, сколько имеется в наличии в данный момент;
  • отличные возможности по поддержке различных дистрибутивов посредством универсальных веб- и сборочных клиентов;
  • публикация пакета теперь является транзакцией: в случае ошибки, репозиторий возвращается в исходное состояние. Также добавлен журнал процесса публикации;
  • полные журналы для каждого сборочного задания — пакеты и журналы будут доступны непосредственно со страницы сборки после публикации (в настоящее время журналы удаляются после публикации пакета);
  • использование mock-urpm для сборки пакетов под РОСУ (ранее использовались специализированные скрипты, которые не могли быть использованы для локальной сборки);
  • тег «packager» теперь выставляется автоматически;
  • проверка собранного пакета посредством его установки в chroot; если проверка завершается с ошибкой, то вся сборка завершается со статусом «Test Failed» и пакет не публикуется, даже если вы выставили флаг автоматической публикации. Однако собранный пакет не удаляется, и если вы твердо уверены, что с ним все в порядке (например, нужные зависимости собрались в соседнем проекте), то вы можете его опубликовать;
  • полное удаление устаревших пакетов при публикации их более новых версий для всех платформ;
  • одновременную публикацию заданных 32-битных пакетов как 32-битные, так и 64-битные репозитории для систем, основанных на RHEL;
  • возможность давать ссылку на конкретную строчку в файле в веб-интерфейсе, например https://abf.rosalinux.ru/import/e_modules/blob/master/e_modules.spec#L73;
  • возможность отката публикации пакета администраторами платформ и репозиториями;
  • возможность удалять файлы из файлового хранилища (http://abf-doc.rosalinux.ru/v1/file-store/#destroy-file);
  • возможность не использовать персональный репозиторий как источник пакетов, даже если производится сборка в него;
  • сбор данных о пакетах (имена, версии, релизы) для RELS (ранее такая информация собиралась только для РОСЫ).

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

ABF-2.0.png

Новые возможности ABF — сборка прошла успешно, но собранный пакет не смог поставиться в chroot-окружение. Тем не менее, пакет не удален (его можно скачать наравне с srpm по ссылкам внизу страницы), его можно опубликовать в целевой репозиторий или создать для него контейнер

Что стоит ожидать в ближайшем будущем?

  • краткие сообщения о причинах неудачи сборки;
  • подключение других персональных платформ при сборки под собственную платформу;
  • возможность кеширования chroot-окружений для пакетов — это позволяет ускорить сборку ценой потенциальных проблем безопасности и риском потери возможности пересобрать все пакеты с нуля;
  • пакеты в персональных репозиториях будут подписываться ключом, автоматически генерируемым ABF (таким же образом, как это сейчас делается для основных платформ);
  • устаревшие пакеты, удаленные после публикации более новых версий, еще будут некоторое время доступны для скачивания; это, в частности, позволит не ломать сборку ISO-образов во время активной работы над пакетной базой;
  • возможность использования ABF в роли сервера непрерывной интеграции (Continuos Integration, CI);
  • регистрация без приглашений!

Оставайтесь с нами:)

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.