Компания «РОСА» объявляет об обновлении среды разработки и сборки свободного программного обеспечения ROSA Automatic Build Farm (ABF) до версии 2.0. Система получила более 100 различных улучшений, которые помогут разработчикам и мейнтейнерам более эффективно управлять жизненным циклом дистрибутивов (от создания исходного кода до сборки ISO-образов).
Последнее время развитие ROSA ABF идет в двух основных направлениях: расширение функционала системы хранения исходного кода и развитие подсистемы сборки пакетов. Среди основных нововведений версии 2.0. можно отметить следующие функции:
REST API
Благодаря REST API, каждый может использовать ABF как платформу для своих приложений и сервисов, а также автоматизировать рутинные операции. Документацию по REST API вы можете найти на специальном сайте для разработчиков: http://abf-doc.rosalinux.ru/.
Pull Request
Функция Pull Request позволяет предложить изменения в git-репозитории других участников. После отправки такого запроса, все заинтересованные участники могут видеть, обсуждать и, при необходимости, редактировать код. Причем инструмент эффективен для проектов любого масштаба. Чтобы воспользоваться Pull Request, сделайте клон (форк) проекта, внесите в него правки, а затем предложите их в основную ветку, создав запрос на включение изменений из своего проекта. При этом никаких прав на основной проект не предоставляется и не требуется.
Построчное комментирование кода
Поскольку во время работы с кодом невозможно обойтись без обсуждений, в ABF 2.0 включена поддержка Github Flavored Markdown — простого языка разметки. Вместе с возможностью обсуждать каждую строчку кода, он предоставляет команде разработчиков хороший инструмент для дискуссий.
Трекер с реакцией на изменение кода
Под реакцией на изменения исходного кода мы подразумеваем отображение в задаче следующих данных:
- информация о сделанных изменениях в исходном коде, если в коммите был указан номер задачи;
- информация о других задачах и запросах на изменения исходного кода, если в них ссылались на данную.
Теперь в задаче можно увидеть всю информацию о ней: обсуждения, коммиты, связанные задачи и запросы на изменения исходного кода (Pull Request).
Git через ssh
Наверное, самая ожидаемая функция ROSA ABF. Во-первых, она избавляет разработчика от необходимости вводить пароль для совершения каждой операции. Во-вторых, снимает ограничение на объем передаваемых данных. И, в-третьих, это классический вариант работы с удаленным сервером Git.
Подсистема сборки пакетов
Обновленная подсистема получила полноценную поддержку сборки пакетов под разные дистрибутивы и повышенный уровень безопасности. Были устранены неявные зависимости между сборками, поскольку для каждой из них теперь используется чистая виртуальная машина. Также добавлены новые возможности по работе со сборочными заданиями и проведена унификация рабочих инструментов. Теперь стало возможно отменить уже собирающиеся задание и стал доступен автоматически обновляемый общий лог процесса.
Что ещё нового в ROSA ABF 2.0:
- возможность сравнения произвольных коммитов и веток в веб-интерфейсе;
- почтовые оповещения по различным аспектам системы и гибкие возможности настройки таких оповещений;
- механизм массовых сборок;
- официальный и ещё два неофициальных консольных клиента;
- страница релизов исходного кода проекта;
- информационные бюллетени;
- расширенные возможности у персональных репозиториев;
- подробная техническая документация.
Подробный список изменений на английском языке вы можете прочесть в блоге проекта ABF: http://abf-blog.rosalinux.ru/post/48772687862/abf-long-road-to-2-0
Отрадно констатировать тот факт, что сообщество регулярно пополняет экосистему Automatic Build Farm новыми инструментами, позволяющими существенно сократить рутинные операции и получить подробные данные о состоянии пакетной базы. Например:
URPM-Repoclosure (отвечает за замкнутость репозитория по зависимостям);
ABI Compliance Checker (анализирует совместимость версий С/C++ библиотек);
Upstream Tracker (инструмент мониторинга и анализа библиотек в Upstream);
Updates Tracker (определяет устаревшие пакеты по сравнение с Upstream или другими дистрибутивами);
PkgDiff (показывает изменения в пакетах).
ROSA ABF 2.0 является открытым проектом и мы приглашаем всех желающих принять участие в нем. Разработчики могут воспользоваться обширной документацией по системе.
На текущий момент ABF как платформу для разработки своих дистрибутивов использует не только компания РОСА, но и OpenMandriva и Conectiva. В качестве экспериментов на ABF также собраны AltLinux, Fedora, OpenSuse, Scientific Linux, RHEL.
Исходный код
Документация по ABF на английском языке
Обсуждение проекта
Служба поддержки
Краткое руководство по работе в системе ROSA ABF
>>> Подробности