Rosa ABF (Automatic Build Farm)

Продукт
Разработчики: НТЦ ИТ Роса
Дата последнего релиза: апрель 2013 года
Технологии: Средства разработки приложений

В апреле 2012 года компания «РОСА» объявила о выпуске бета-версии системы разработки свободного программного обеспечения ROSA ABF, позволяющей обеспечить непрерывную разработку популярных дистрибутивов свободных операционных систем и прикладных программ для них в единой среде. Исходные коды проекта доступны на условиях лицензии GPL v2.

ROSA ABF (Automatic Build Farm) — это единая среда разработки для различных дистрибутивов свободного программного обеспечения. В отличие от аналогов, которые работают лишь с ограниченным набором операционных систем на базе Linux, ROSA ABF позволяет разработчикам развивать дистрибутивы практически на всех существующих пакетных базах (Red Hat, Debian, OpenSuse, Ubuntu, Mandriva, ROSA, Alt Linux и др).

Появление ROSA ABF — это логическое развитие идеологии сред разработки и сборки свободного программного обеспечения. В основе системы лежит отход от политики специализации на одном дистрибутиве СПО и его производных и, как следствие, создание механизма автоматизированного согласования зависимостей при пересборке пакетов. Это дает разработчикам уверенность в том, что доступные им в рамках ROSA ABF базовые компоненты ПО собраны без конфликтов друг с другом. Что повышает качество разрабатываемого ПО в целом и позволяет существенно сократи ть время и расходы на разработку новых продуктов.

Проект ROSA ABF активно развивается с 2010 года. В 2011 году первые рабочие результаты были сданы Министерству связи и массовых коммуникаций РФ в качестве прототипа среды разработки программного обеспечения в рамках первого этапа по созданию Национальной программной платформы.

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:

  • возможность сравнения произвольных коммитов и веток в веб-интерфейсе;
  • почтовые оповещения по различным аспектам системы и гибкие возможности настройки таких оповещений;
  • механизм массовых сборок;
  • 1 официальный и 2 неофициальных консольных клиента;
  • страница релизов исходного кода проекта;
  • информационные бюллетени;
  • расширенные возможности у персональных репозиториев;
  • подробная техническая документация.

Отрадно констатировать тот факт, что сообщество регулярно пополняет экосистему Automatic Build Farm новыми инструментами, позволяющими существенно сократить рутинные операции и получить подробные данные о состоянии пакетной базы. Например:

  • URPM-Repoclosure (отвечает за замкнутость репозитория по зависимостям);
  • ABI Compliance Checker (анализирует совместимость версий С/C++ библиотек);
  • Upstream Tracker (инструмент мониторинга и анализа библиотек в Upstream);
  • Updates Tracker (определяет устаревшие пакеты по сравнение с Upstream или другими дистрибутивами);
  • PkgDiff (показывает изменения в пакетах);

ROSA ABF 2.0 является открытым проектом и мы приглашаем всех желающих принять участие в нем. Разработчики могут воспользоваться обширной документацией по системе.



РЕШЕНИЕ НА БАЗЕ (2) СМ. ТАКЖЕ (2)
Название решенияРазработчикКоличество
проектов
Технологии
ROSA Marathon 2012НТЦ ИТ Роса0ОС
ROSA Server 2012НТЦ ИТ Роса0ОС


Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Солар (ранее Ростелеком-Солар) (46)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
  Форсайт (11)
  Axiom JDK (БеллСофт) ранее Bellsoft (10)
  Бипиум (Bpium) (10)
  Другие (393)

  Солар (ранее Ростелеком-Солар) (8)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
  ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
  IFellow (АйФэлл) (2)
  Консом групп, Konsom Group (КонсОМ СКС) (2)
  Другие (30)

  Солар (ранее Ростелеком-Солар) (10)
  Форсайт (3)
  Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
  Cloud.ru (Облачные технологии) ранее SberCloud (2)
  КРИТ (KRIT) (2)
  Другие (13)

  Солар (ранее Ростелеком-Солар) (6)
  Unlimited Production (Анлимитед Продакшен, eXpress) (4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (4)
  Robin (Робин) (3)
  Форсайт (3)
  Другие (23)

  Unlimited Production (Анлимитед Продакшен, eXpress) (4)
  Солар (ранее Ростелеком-Солар) (3)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (2)
  InfoShell, ИнфоШелл (Инфотех Интегратор) (1)
  Naumen (Наумен консалтинг) (1)
  Другие (11)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Солар (ранее Ростелеком-Солар) (2, 48)
  Microsoft (41, 47)
  Oracle (49, 26)
  Hyperledger (Open Ledger Project) (1, 23)
  IBM (33, 18)
  Другие (599, 308)

  Солар (ранее Ростелеком-Солар) (1, 8)
  Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
  Microsoft (4, 3)
  Oracle (2, 3)
  SAP SE (2, 2)
  Другие (16, 19)

  Солар (ранее Ростелеком-Солар) (1, 11)
  Форсайт (1, 3)
  Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
  Сбербанк (1, 2)
  Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
  Другие (9, 9)

  Солар (ранее Ростелеком-Солар) (1, 6)
  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
  Мобильные ТелеСистемы (МТС) (1, 4)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
  Форсайт (1, 3)
  Другие (14, 24)

  Unlimited Production (Анлимитед Продакшен, eXpress) (1, 4)
  Мобильные ТелеСистемы (МТС) (2, 3)
  Солар (ранее Ростелеком-Солар) (1, 3)
  МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
  Сбербанк (1, 1)
  Другие (14, 14)

Распределение систем по количеству проектов, не включая партнерские решения

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Solar appScreener (ранее Solar inCode) - 48
  Hyperledger Fabric - 23
  Windows Azure - 20
  FIS Platform - 15
  Форсайт. Мобильная платформа (ранее HyperHive) - 12
  Другие 328

  Solar appScreener (ранее Solar inCode) - 8
  FIS Platform - 4
  Java - 2
  Турбо X - 2
  Парадокс: MES Builder - 2
  Другие 22

  Solar appScreener (ранее Solar inCode) - 11
  Форсайт. Мобильная платформа (ранее HyperHive) - 3
  BSS Digital2Go - 3
  Cloud ML Space - 2
  Bpium Конструктор корпоративных систем - 1
  Другие 8

  EXpress Защищенный корпоративный мессенджер - 6
  Solar appScreener (ранее Solar inCode) - 6
  МТС Exolve - 4
  Форсайт. Мобильная платформа (ранее HyperHive) - 3
  РЖД и Робин: Облачная фабрика программных роботов - 3
  Другие 14

  EXpress Защищенный корпоративный мессенджер - 4
  Solar appScreener (ранее Solar inCode) - 3
  МТС Exolve - 2
  Docker Платформа распределённых приложений - 1
  GreenData Платформа - 1
  Другие 11