Выпуск системы сборки пакетов Open Build Service 2.10

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

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

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

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

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

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

  • Полностью переделан web-интерфейс, который переписан с использованием компонентов фреймворка Bootstrap, что позволило упростить сопровождение кода, унифицировать оформление различных частей и избавиться от многих усложнений (ранее применялись 960 Grid System, собственная тема к Jquery UI и обилие специфичных CSS). Несмотря на кардинальную переработку разработчики постарались сохранить узнаваемость элементов и привычный уклад работы для снижения дискомфорта при переходе на новую версию; 0_1562398385.png
  • Проведена работа по улучшению поддержки поставки и развёртывания приложений для изолированных контейнеров. Подготовлен реестр для распространения контейнеров. Например, для запуска свежего окружения на основе репозитория Tumbleweed теперь достаточно выполнить «docker run -ti --rm registry.opensuse.org/opensuse/tumbleweed /bin/bash». Обеспечена поддержка отслеживания состояния бинарных сборок (контроль релизов) в контейнерах. Добавлена поддержка профилей kiwi и возможность генерации multi-arch манифестов;
  • Добавлены модули для интеграции с Gitlab и Pagure, которые позволяют привязывать определённые действия в OBS при совершении новых коммитов или возникновении заданных событий в данных системах.
  • Встроена возможность загрузки в облачные окружения Amazon EC2 и Microsoft Azure, а также публикации через Vagrant;
  • Скрипты sysv init заменены на файлы systemd;
  • Добавлена поддержка хранения метрик с данным о производительности в СУБД InfluxDB;
  • В текстовых полях разрешено использование emoji (для включения в database.yml требуется установить кодировку utf8mb4);
  • Добавлена опция для отправки уведомлений владельцам сообщений о проблемах, с информацией о появлении новых комментариев;
  • Появилась функция предварительного подтверждения запросов (запрос принимается только после завершения рецензирования);
  • Проведена оптимизация производительности кода для генерации продукта и публикации в репозитории. В планировщике появилась возможность инкрементального обновления проекта.

© OpenNet