Выпуск системы сборки пакетов Open Build Service 2.8 с поддержкой технологии Snap

После десяти месяцев разработки подготовлен релиз платформы Open Build Service 2.8, которая позволяет организовать процесс разработки дистрибутивов и программных продуктов, включая подготовку и сопровождение релизов и обновлений. Система даёт возможность выполнить кросс-компиляцию пакетов для большинства основных дистрибутивов Linux или собрать собственный дистрибутив на основе заданной пакетной базы.

Поддерживается сборка для 22 целевых платформ (дистрибутивов), включая CentOS, Debian, Fedora, Mandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) и Ubuntu. Сборка возможна для 6 архитектур, в том числе i386, x86_64 и ARM. OBS используется в качестве первичной системы для сборки проектов openSUSE, Tizen, Sailfish, Mer, ownCloud и VideoLAN, а также для сборки Linux-продуктов в компаниях Dell, Cray и Intel.

Для сборки свежей версии заданной программы в виде бинарного пакета под нужную систему достаточно создать spec-файл или подключить репозиторий пакетов, представленный на сайте software.opensuse.org. Кроме того, можно сформировать готовое минималистичное окружение для выполнения в системах виртуализации, cloud-окружениях или для загрузки в виде Live-дистрибутива. При работе с OBS разработчик может использовать готовый online-сервис build.opensuse.org или установить подобную систему на своём сервере. Кроме того, можно быстро развернуть собственную инфраструктуру при помощи специально подготовленных образов для виртуальных машин, локальной установки или для PXE-загрузки по сети.

OBS даёт возможность автоматизировать загрузку исходных текстов из внешних Git или Subversion репозиториев или архивов с кодом с ftp- и web-серверов первичных проектов, что позволяет избавиться от промежуточной ручной загрузки архивов с кодом на локальную машину разработчика и последующего импорта в openSUSE Build Service. Сопровождающим пакеты предоставляются средства для определения зависимостей от других пакетов с автоматической пересборкой данных зависимостей при внесении в них изменений. При добавлении патчей имеется возможность их тестирования с аналогичными пакетами от других проектов.

Для управления Open Build Service можно использовать как инструментарий для командной строки, так и web-интерфейс. Имеются средства для подключения сторонних клиентов и использования ресурсов с внешних сервисов, таких как SourceForge и kde-apps.org. Разработчикам доступны инструменты для создания групп и организации совместной работы. Код всех компонентов системы, включая web-интерфейс, систему тестирования пакетов и сборочные бэкенды, полностью открыт под лицензией GPLv2.

Среди улучшений, добавленных в Open Build Service 2.8:

  • В сборочный бэкенд добавлена экспериментальная возможность формирования самодостаточных пакетов в формате snap;
  • В бэкенд добавлена функция mulibuild, позволяющая инициировать несколько сборочных заданий из одного src-пакета, без необходимости определения локальных привязок;
  • Модернизирован интерфейс пользователя, добавлена поддержка фильтрации проектов на основе регулярного выражения (фильтр задаёт администратор проекта). Обеспечена возможность инициирования запуска сервисов из GUI. Пользователям предоставлена возможность загрузки открытых GPG-ключей и SSL-сертификатов со страницы проекта или через API. Добавлена опция для импорта описаний процесса сборки в формате Kiwi;
  • API расширен средствами для более полного управления пользователями, в том числе добавлены вызовы для блокирования и удаления пользователей из проектов. Реализована возможность определения пользователей как дочерних учётных записей других пользователей (например, удобно для организации запуска скриптов не под основным аккаунтом);
  • В компонент для управления работами и отслеживания выполняемых работ добавлен новый сервис obsservicedispatch с реализаций очереди для запуска сервисов в асинхронном режиме;
  • В CLI добавлена команда «osc unpublish», позволяющая удалить уже опубликованные пакеты.

© OpenNet