Сборочная среда ABF — различия между версиями
Juliette (обсуждение | вклад) (→Ссылки:) |
Juliette (обсуждение | вклад) (→Функционал альфа-версии ABF) |
||
Строка 2: | Строка 2: | ||
'''ABF''' (''Automatic Build Farm'') – это распределенная среда непрерывной разработки дистрибутивов СПО и прикладных программ для них на основе системы управления версиями Git. ABF спроектирован как структурный фасад для [[Сборочный сервер: механизм работы|частных (дистрибутиво-зависимых) технических процессов]]. Данный подход позволяет с минимальным порогом входа, без масштабных изменений в пакетных базах и технологиях сборки, добавлять в ABF дистрибутивы на различных пакетных базах. Единая внешняя логика, поддерживаемая ABF, предоставляет возможность быстрого обмена функционалом между группами разработчиков из базовых и производных дистрибутивов и между разными базовыми дистрибутивами, а также ускоряет появление в дистрибутивах нового прикладного функционала от внешних поставщиков. | '''ABF''' (''Automatic Build Farm'') – это распределенная среда непрерывной разработки дистрибутивов СПО и прикладных программ для них на основе системы управления версиями Git. ABF спроектирован как структурный фасад для [[Сборочный сервер: механизм работы|частных (дистрибутиво-зависимых) технических процессов]]. Данный подход позволяет с минимальным порогом входа, без масштабных изменений в пакетных базах и технологиях сборки, добавлять в ABF дистрибутивы на различных пакетных базах. Единая внешняя логика, поддерживаемая ABF, предоставляет возможность быстрого обмена функционалом между группами разработчиков из базовых и производных дистрибутивов и между разными базовыми дистрибутивами, а также ускоряет появление в дистрибутивах нового прикладного функционала от внешних поставщиков. | ||
− | == Функционал | + | ==Функционал бета-версии ABF (март 2012)== |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | '''Для разработчика:''' | |
− | ABF разработан в компании РОСА полностью «с нуля» и реализован на Python и Ruby on Rails. | + | *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 ЗАО "РОСА"