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

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

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

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

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

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

    Комментарии 2

      +1
      Кхм. Обозначенная поддержка сборки deb-пакетов в OBS мягко говоря кривая, кто пытался добавить репозиторий в sources.list поймёт. Далее. Ланчпад собирает не только под i386/amd64, но и под арму с lpia, и это только для ppa. Про отсутствие CLI в ланчпаде тоже обманули, там используется такая штука как dput.
        +4
        выводы писались под диктовку Капитана?

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое