Сравнение сред разработки, сборки и обновления операционных систем и прикладных приложений

в 12:05, , рубрики: linux, open source

Специалисты «ПингВин Софтвер» провели анализ пяти сборочных сред: Open Build Service, Koji, Launchpad, ABF-РОСА, Сизиф. Первые три — крупнейшие сборочные системы, используемые в крупных мировых проектах таких как openSUSE, Meego (OBS), Fedora/RedHat (Koji), Ubuntu (Launchpad), ROSA ABF и Сизиф — сборочные системы, разработанные и используемые российскими компаниями РОСА и ALT Linux соответственно.

Основные задачи, которые решает среда разработки и сборки:
— упрощение совместной работы над дистрибутивом большого количества разработчиков;
— обеспечение сохранности и контроля за изменениями в ПО;
— предоставление сторонним разработчикам удобной возможности создания ПО, совместимого с данным дистрибутивом;
— повышение качества разрабатываемого дистрибутива / ПО за счет автоматизированного тестирования;
— сборка бинарных пакетов с автоматическим их размещением.

Это приводит к следующим требованиям, накладываемым на сборочную среду:
— наличие развитого интерфейса, включающего в себя веб-интерфейс, интерфейс командной строки (cli) и интерфейс для внешнего ПО (обычно XML-RPC или REST);
— возможность сборки под различные аппаратные архитектуры;
— возможность одновременной поддержки нескольких дистрибутивов (или хотя бы различных версий дистрибутива);
— наличие систем контроля версий, журналирования, авторизации и разграничения контроля доступа;
— возможность автоматической пересборки зависимостей;
— сборка в изолированном окружении;
— масштабируемость сборочной среды;
— возможность создания персональных дополнений к хранилищу (персональных репозиториев), совместимых с дистрибутивом;
— возможность создания специализированных дистрибутивов (включающих определенное ПО);
— возможность проведения автоматизированного тестирования.

Сводные характеристики сборочных систем (в приложении).

Выводы:
— идеальной и универсальной среды сборки в природе не существует;
— нет прямой и очевидной зависимости между качеством сборочной среды и «успешностью» дистрибутива (пример — в сборочной среде Ubuntu вообще нет автоматической пересборки зависимостей, но система — одна из самых популярных и качественных);
— нельзя делать ставку на какую-то одну среду сборки.

Автор: kochereshkin

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js