Сборочная среда ABF — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Ссылки:)
(Функционал альфа-версии ABF)
Строка 2: Строка 2:
 
'''ABF''' (''Automatic Build Farm'') – это распределенная среда непрерывной разработки дистрибутивов СПО и прикладных программ для них на основе системы управления версиями Git. ABF спроектирован как структурный фасад для [[Сборочный сервер: механизм работы|частных (дистрибутиво-зависимых) технических процессов]]. Данный подход позволяет с минимальным порогом входа, без масштабных изменений в пакетных базах и технологиях сборки, добавлять в ABF дистрибутивы на различных пакетных базах. Единая внешняя логика, поддерживаемая ABF, предоставляет возможность быстрого обмена функционалом между группами разработчиков из базовых и производных дистрибутивов и между разными базовыми дистрибутивами, а также ускоряет появление в дистрибутивах нового прикладного функционала от внешних поставщиков.
 
'''ABF''' (''Automatic Build Farm'') – это распределенная среда непрерывной разработки дистрибутивов СПО и прикладных программ для них на основе системы управления версиями Git. ABF спроектирован как структурный фасад для [[Сборочный сервер: механизм работы|частных (дистрибутиво-зависимых) технических процессов]]. Данный подход позволяет с минимальным порогом входа, без масштабных изменений в пакетных базах и технологиях сборки, добавлять в ABF дистрибутивы на различных пакетных базах. Единая внешняя логика, поддерживаемая ABF, предоставляет возможность быстрого обмена функционалом между группами разработчиков из базовых и производных дистрибутивов и между разными базовыми дистрибутивами, а также ускоряет появление в дистрибутивах нового прикладного функционала от внешних поставщиков.
  
== Функционал альфа-версии ABF ==
+
==Функционал бета-версии ABF (март 2012)==
Состояние на февраль 2012 (подробнее в [[Краткое руководство по работе в сборочной среде ABF|руководстве пользователя]]):
+
*Управление пользователями, ролями, пакетами, репозиториями (пользовательскими, групповыми, платформами), бранчами (ветками), заданиями на сборку;
+
*Создание проектов (соответствующих пакетам ОС) на основе импорта внешних src.rpm или клонирования (форка) доступных пакетов ABF в пользовательский репозиторий;
+
*Публичный или ограниченный доступ к платформам/репозиториям;
+
*Просмотр данных об исходном коде пакетов (история изменений, авторы, версии);
+
*Сборка бинарных пакетов под указанную архитектуру в пользовательский репозиторий либо общественный репозиторий (платформу);
+
*Мониторинг состояния сборки пакетов на распределенном множестве сборочных узлов;
+
*Сборка ISO-образов дистрибутивов;
+
*Назначение различных полномочий пользователей на выполнение операций вплоть до уровня отдельных пакетов;
+
*Ведение журнала операций и возможность полного аудита событий в системе.
+
  
Помимо перечисленного функционала, альфа-версия ABF поддерживает (в экспериментальном режиме) [[Сборочная среда ABF: сборка пакета с учётом его обратных зависимостей|сборку пакета с учетом его обратных зависимостей]]. Данный механизм позволяет проверить при обновлении пакета отсутствие нарушений сборки во всем множестве зависимых от него пакетов путем построения согласованной иерархии сборочных контейнеров.
+
'''Для разработчика:'''
  
ABF разработан в компании РОСА полностью «с нуля» и реализован на Python и Ruby on Rails. Альфа-версия ABF работает через веб-интерфейс.
+
*git-репозиторий;
 +
*легковесный проектный трекер задач;
 +
*проектная вики;
 +
*возможность редактирования файлов в веб-интерфейсе;
 +
*гибкое управление правами доступа к проекту, включая группы;
 +
*проект может быть публичным, доступным для чтения всем пользователям, или приватным, доступный только ограниченному кругу лиц и невидимый остальным;
 +
*возможность комментировать сделанные изменения(коммиты);
 +
*возможность сравнения(diff), просмотра истории изменений(log), аннотация файла(blame) в веб-интерфейсе;
 +
*возможность клонировать (fork) исходного кода любого публичного проекта ABF.
 +
 
 +
'''Для майтейнера:'''
 +
 
 +
*импорт исходного кода из src.rpm через веб-интерфейс;
 +
*возможность собирать в свой частный репозиторий, доступный всем пользователям ABF;
 +
*удобный мониторинг задач, позволяющий увидеть состояние ваших, связанных с вами или всех доступных сборочных заданий;
 +
*подробный лог сборки;
 +
*возможность установить для тестирования собравшийся пакет (контейнер сборки, представляющим собой полноценный репозиторий) до выкладывания его в общий репозиторий;
 +
*возможность одновременной сборки под несколько архитектур и платформ одновременно;
 +
*возможность выбора, какие репозитории платформы будут подключены для сборки, индивидуально для каждой платформы;
 +
*возможность отмены задания на сборку;
 +
*легкое подключение частного репозитория(генерирует команду для подключения);
 +
*чистая и безопасная сборка на распределенном множестве сборочных узлов.
 +
 
 +
'''Для владельцев и участников платформ:'''
 +
 
 +
*поддержка собственного дистрибутива в рамках ABF;
 +
*возможность управление репозиториями(включение/исключение проектов);
 +
*возможность сборки продуктов(ISO образов).
 +
 
 +
'''Для администраторов:'''
 +
 
 +
*управление пользователями(в том числе и блокировка);
 +
*ведение журнала операций и возможность полного аудита событий в системе.
 +
 
 +
'''Для всех:'''
 +
 
 +
*удобный, понятный и легкий веб-интерфейс;
 +
*возможность создавать и участвовать в различных группах и проектах;
 +
*гибкая настраиваемая почтовая система оповещений о различных событиях в системе;
 +
*лента активности, позволяющая быть в курсе последних событий в ваших проектах в веб-интерфейсе;
 +
*публичный профиль участника, где показаны его контактные данные, а также список его публичных проектов.
 +
 
 +
Помимо перечисленного функционала, бета-версия ABF поддерживает (в экспериментальном режиме) сборку пакета с учетом его обратных зависимостей. Данный механизм позволяет проверить при обновлении пакета отсутствие нарушений сборки во всем множестве зависимых от него пакетов путем построения согласованной иерархии сборочных контейнеров.
 +
 
 +
ABF разработан в компании РОСА полностью «с нуля» и реализован на Python и Ruby on Rails. Бета-версия ABF работает через веб-интерфейс.
  
 
== Ссылки: ==
 
== Ссылки: ==

Версия 19:32, 30 марта 2012

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

Функционал бета-версии ABF (март 2012)

Для разработчика:

  • git-репозиторий;
  • легковесный проектный трекер задач;
  • проектная вики;
  • возможность редактирования файлов в веб-интерфейсе;
  • гибкое управление правами доступа к проекту, включая группы;
  • проект может быть публичным, доступным для чтения всем пользователям, или приватным, доступный только ограниченному кругу лиц и невидимый остальным;
  • возможность комментировать сделанные изменения(коммиты);
  • возможность сравнения(diff), просмотра истории изменений(log), аннотация файла(blame) в веб-интерфейсе;
  • возможность клонировать (fork) исходного кода любого публичного проекта ABF.

Для майтейнера:

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

Для владельцев и участников платформ:

  • поддержка собственного дистрибутива в рамках ABF;
  • возможность управление репозиториями(включение/исключение проектов);
  • возможность сборки продуктов(ISO образов).

Для администраторов:

  • управление пользователями(в том числе и блокировка);
  • ведение журнала операций и возможность полного аудита событий в системе.

Для всех:

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

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

ABF разработан в компании РОСА полностью «с нуля» и реализован на Python и Ruby on Rails. Бета-версия ABF работает через веб-интерфейс.

Ссылки:

Веб-интерфейс ABF (прием заявок)
Форум проекта
Комментарий по НПП от R&D ЗАО "РОСА"


Документация по теме «Сборочная среда ABF»