Поддерживается сборка для 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). Несмотря на кардинальную переработку разработчики постарались сохранить узнаваемость элементов и привычный уклад работы для снижения дискомфорта при переходе на новую версию;
- Проведена работа по улучшению поддержки поставки и развёртывания приложений для изолированных контейнеров. Подготовлен реестр для распространения контейнеров. Например, для запуска свежего окружения на основе репозитория 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);
- Добавлена опция для отправки уведомлений владельцам сообщений о проблемах, с информацией о появлении новых комментариев;
- Появилась функция предварительного подтверждения запросов (запрос принимается только после завершения рецензирования);
- Проведена оптимизация производительности кода для генерации продукта и публикации в репозитории. В планировщике появилась возможность инкрементального обновления проекта.
Источник: http://www.opennet.ru/opennews/art.shtml?num=51040