Новая система сборки дистрибутивов СПО от РОСА
Компания РОСА запустила в эксплуатацию альфа-версию инфраструктурного инструмента ABF (Auto Build Farm) для разработки дистрибутивов свободного программного обеспечения (СПО). Система является результатом развития прототипа сборочной среды, сданной в рамках первого этапа проекта государственной программы «Информационное общество» по созданию Национальной программной платформы. Теперь РОСА перешла на ABF в качестве основной платформы разработки собственных дистрибутивов, а также начинает работу с партнерами по обеспечению сборки их дистрибутивов и прикладных решений в ABF.
ABF – это распределенная среда непрерывной разработки дистрибутивов СПО и прикладных программ для них. Она спроектирована как структурный фасад для частных (дистрибутивозависимых) технических процессов. Такой подход позволяет с минимальным порогом входа, без масштабных изменений в пакетных базах и технологиях сборки добавлять в ABF дистрибутивы на различных пакетных базах. Единая внешняя логика, поддерживаемая ABF, предоставляет возможность быстрого обмена функционалом между группами разработчиков из базовых и производных дистрибутивов и между разными базовыми дистрибутивами, а также ускоряет появление в дистрибутивах нового прикладного функционала от внешних поставщиков.
Функционал альфа-версии ABF включает:
- управление пользователями, ролями, пакетами, репозиториями (пользовательскими, групповыми, платформами), бранчами (ветками), заданиями на сборку;
- создание проектов (соответствующих пакетам ОС) на основе импорта внешних src.rpm или клонирования (форка) доступных пакетов ABF в пользовательский репозиторий;
- контроль доступа к различным платформам/репозиториям;
- просмотр данных об исходном коде пакетов (история изменений, авторы, версии);
- сборку бинарных пакетов под определенную архитектуру в пользовательский репозиторий либо общественный репозиторий (платформу);
- мониторинг состояния сборки пакетов на распределенном множестве сборочных узлов;
- сборку ISO-образов дистрибутивов;
- назначение различных полномочий пользователей на выполнение операций вплоть до уровня отдельных пакетов;
- ведение журнала операций и возможность полного аудита событий в системе.
Альфа-версия ABF поддерживает сборку пакетов с учетом его обратных зависимостей. Данный механизм позволяет проверить при обновлении пакета отсутствие нарушений сборки во всем множестве зависимых от него пакетов путем построения согласованной иерархии сборочных контейнеров.
ABF является собственной СПО-разработкой компании РОСА. Система реализована на Python и Ruby on Rails, интегрирована с системой контроля версий Git и предоставляет Web-интерфейс на русском и английском языках для управления всеми процессами разработки и сборки дистрибутивов СПО.
Следующая версия ABF будет представлена в марте.