Компания РОСА объявила о запуске в эксплуатацию альфа-версии инфраструктурного инструмента ABF (Auto Build Farm) для разработки дистрибутивов СПО.

Альфа-версия ABF поддерживает сборку пакетов с учетом его обратных зависимостей. Данный механизм позволяет проверить при обновлении пакета отсутствие нарушений сборки во всем множестве зависимых от него пакетов путем построения согласованной иерархии сборочных контейнеров.

Как сообщается, ABF представляет собой распределенную среду непрерывной разработки дистрибутивов СПО и прикладных программ для них. ABF спроектирована как структурный фасад для частных (дистрибутиво-зависимых) технических процессов. Данный подход позволяет с минимальным порогом входа, без масштабных изменений в пакетных базах и технологиях сборки, добавлять в ABF дистрибутивы на различных пакетных базах. Единая внешняя логика, поддерживаемая ABF, предоставляет, по утверждению РОСА, возможность быстрого обмена функционалом между группами разработчиков из базовых и производных дистрибутивов и между разными базовыми дистрибутивами, а также ускоряет появление в дистрибутивах нового прикладного функционала от внешних поставщиков.

По данным разработчиков, функционал альфа-версии ABF обеспечивает:

  • управление пользователями, ролями, пакетами, репозиториями (пользовательскими, групповыми, платформами), бранчами (ветками), заданиями на сборку;
  • создание проектов (соответствующих пакетам ОС) на основе импорта внешних src.rpm или клонирования (форка) доступных пакетов ABF в пользовательский репозиторий;
  • контроль доступа к различным платформам/репозиториям;
  • просмотр данных об исходном коде пакетов (история изменений, авторы, версии);
  • сборку бинарных пакетов под определенную архитектуру в пользовательский репозиторий либо общественный репозиторий (платформу);
  • мониторинг состояния сборки пакетов на распределенном множестве сборочных узлов;
  • сборку ISO-образов дистрибутивов;
  • назначение различных полномочий пользователей на выполнение операций вплоть до уровня отдельных пакетов;
  • ведение журнала операций и возможность полного аудита событий в системе.

ABF является собственной СПО-разработкой компании РОСА, созданием которой компания занималась с 2010 г. Система реализована на Python и Ruby on Rails, интегрирована с системой контроля версий Git и предоставляет веб-интерфейс на русском и английском языках для управления всеми процессами разработки и сборки дистрибутивов СПО. Сейчас доступ к системе осуществляется по заявке. В РОСА планируют в первую очередь одобрять заявки от потенциальных мейнтейнеров и от специалистов/команд, способных помочь в появлении и сборке в ABF новых дистрибутивов.

Данная система является результатом развития прототипа сборочной среды, сданной в рамках первого этапа проекта государственной программы “Информационное общество” по созданию Национальной программной платформы (конкурс ИО/04-11). С 10 февраля РОСА перешла на ABF в качестве основной платформы разработки собственных дистрибутивов, а также начинает работу с партнерами по обеспечению сборки их дистрибутивов и прикладных решений в ABF.