Сформирован (https://openbuildservice.org/2019/07/04/release_of_obs_2.10/) релиз платформы Open Build Service 2.10 (http://www.open-build-service.org), предназначенной (http://en.opensuse.org/Build_Service) для организации процесса разработки дистрибутивов и программных продуктов, включая подготовку и сопровождение релизов и обновлений. Система даёт возможность выполнить кросс-компиляцию пакетов для большинства основных дистрибутивов 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 (http://software.opensuse.org/). Кроме того, можно сформировать готовое минималистичное окружение для выполнения в системах виртуализации, cloud-окружениях или для загрузки в виде Live-дистрибутива. При работе с OBS разработчик может использовать готовый online-сервис build.opensuse.org (http://build.opensuse.org/) или установить (https://github.com/openSUSE/open-build-service) подобную систему на своём сервере. Кроме того, можно быстро развернуть собственную инфраструктуру при помощи специально подготовленных образов (http://www.open-build-service.org/download/) для виртуальных машин, контейнеров, локальной установки или для PXE-загрузки по сети.
Возможно автоматизировать загрузку исходных текстов из внешних Git или Subversion репозиториев или архивов с кодом с ftp- и web-серверов первичных проектов, что позволяет избавиться от промежуточной ручной загрузки архивов с кодом на локальную машину разработчика и последующего импорта в openSUSE Build Service. Сопровождающим пакеты предоставляются средства для определения зависимостей от других пакетов с автоматической пересборкой данных зависимостей при внесении в них изменений. При добавлении патчей имеется возможность их тестирования с аналогичными пакетами от других проектов.
Для управления Open Build Service можно использовать как инструментарий для командной строки, так и web-интерфейс. Имеются средства для подключения сторонних клиентов и использования ресурсов с внешних сервисов, таких как GitHub, SourceForge и kde-apps.org. Разработчикам доступны инструменты для создания групп и организации совместной работы. Код всех компонентов системы, включая web-интерфейс, систему тестирования пакетов и сборочные бэкенды, открыт (https://github.com/openSUSE/open-build-service) под лицензией GPLv2.Среди улучшений (https://github.com/openSUSE/open-build-service/blob/2.10/Rel...), добавленных в Open Build Service 2.10:
- Полностью переделан (https://openbuildservice.org/2018/10/05/revamping-ui/) web-интерфейс, который переписан с использованием компонентов фреймворка Bootstrap, что позволило упростить сопровождение кода, унифицировать оформление различных частей и избавиться от многих усложнений (ранее применялись 960 Grid System, собственная тема к Jquery UI и обилие специфичных CSS). Несмотря на кардинальную переработку разработчики постарались сохранить узнаваемость элементов и привычный уклад работы для снижения дискомфорта при переходе на новую версию;- Проведена работа по улучшению поддержки поставки и развёртывания приложений для изолированных контейнеров. Подготовлен реестр (https://registry.opensuse.org) для распространения контейнеров. Например, для запуска свежего окружения на основе репозитория Tumbleweed теперь достаточно выполнить "docker run -ti --rm registry.opensuse.org/opensuse/tumbleweed /bin/bash". Обеспечена
поддержка отслеживания состояния бинарных сборок (контроль релизов) в контейнерах. Добавлена поддержка профилей kiwi и возможность генерации multi-arch манифестов;
- Добавлены модули для интеграции с Gitlab и Pagure (https://pagure.io/), которые позволяют привязывать определённые действия в OBS при совершении новых коммитов или возникновении заданных событий в данных системах.- Встроена возможность загрузки в облачные окружения Amazon EC2 и Microsoft Azure, а также публикации через Vagrant;
- Скрипты sysv init заменены на файлы systemd;
- Добавлена поддержка хранения метрик с данным о производительности в СУБД InfluxDB;- В текстовых полях разрешено использование emoji (для включения в database.yml требуется установить кодировку utf8mb4);
- Добавлена опция для отправки уведомлений владельцам сообщений о проблемах, с информацией о появлении новых комментариев;
- Появилась функция предварительного подтверждения запросов (запрос принимается только после завершения рецензирования);
- Проведена оптимизация производительности кода для генерации продукта и публикации в репозитории. В планировщике появилась возможность инкрементального обновления проекта.
URL: https://openbuildservice.org/2019/07/04/release_of_obs_2.10/
Новость: https://www.opennet.dev/opennews/art.shtml?num=51040
Пожалуй, лучший открытый билдсервис. Копр с лаунчпадом отсасывают в сторонке молча :)
Пацаны - вообще ребята. С одной стороны перевели но модные технологии чтобы проще было сопровождать (на поддержку самописных велосипедов тяжело спецов найти), с другой стороны интерфейс сильно не меняли чтобы старперы могли делать "как раньше" и не гундеть.Сам пару реп кстати у них держу - удобно.
OpenMandriva там нет, есть Mageia, Arch Linux.
> Поддерживается сборка для 21 целевой платформы (дистрибутива), включая CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) и Ubuntu.Как нет если есть? (Или автор новости *<лжец>?)
Кто пользуется, накидайте ссылок на годные статьи/документацию по использованию. Мой юзкейс: собирать десяток пакетов: бэкпорт новых версий ПО в старые версии Debian, сборка пакетов из git.Спасибо.
> DebianНе знаю, может сейчас что и улучшилось, но раньше deb-пакеты собирались per rectum. И нормальной документации по этому поводу мне не встречалось.
> сборка пакетов из git
Только из тарболов (в т. ч. git archive подойдёт, но не напрямую из git).
Советую освоить pbuilder, там не так уж всё сложно. Если RPM не нужны, связываться с OBS смысла нет.
https://wiki.debian.org/PbuilderTricks - вот весь это миллион корявых скриптов (скриптов! Потому что штатный функционал в этом недоделке ничего кроме запуска их пачками и не умеет) - вот это да, это не "per rectum". Причем оно находится в вики которую хрен найдешь не зная где лежит, а не входит в комплект. Приятного копипастинга.Знаете, ребята, мне проще иметь по билдхосту на каждый недодебанный дистрибутив.
> Если RPM не нужны, связываться с OBS смысла нет.
в принципе, да - простыни кривых скриптов он за вас писать не будет, а никакой автоматизации у де6илианоидов не предусмотрено, странно было бы, если бы она упала с неба для OBS.
>вот весь это миллион корявых скриптов (скриптов!
>простыни кривых скриптовзнаешь, к кому обратиться за простым декларативным синтаксисом? У него в этом большой опыт.
> знаешь, к кому обратиться за простым декларативным синтаксисом? У него в этом
> большой опыт.да, но помимо этого "мастера", должны же еще где-то остаться люди, которые умеют вот те же самые скрипты хуков что по ссылке научить читать незамысловатый конфиг и завернуть их вместе с кодом, а не заставлять всех и каждого копипастить из вики и вручную там править имена дистрибутивов (верх совершенства)?
причем они там далеко не двустрочные, самому не подглядывая в вику придумать и отладить не один час займет.
а потом эти люди наезжают на obs, что там слепили из того что было.
> те же самые скрипты хуков что по ссылке научить читать незамысловатый конфиг и завернуть их вместе с кодомэм, это просто заметка о том, как на коленке по быстрому и однократно сделать то, что нужно, а не документация по debian build toolchain.
Изначальный вопрос был про бэкпорты, а для этого в основном хватает apt build-dep + uupdata + dpkg-buildpackage, к примеру
> эм, это просто заметка о том, как на коленке по быстрому и
> однократно сделать то, что нужно, а не документация по debian buildчтобы сделать многократно - надо еще больше скриптопихания?
> toolchain.
тут проблема, что в нем базовые, тривиальные вещи - отсутствуют, все надо самому с нуля.
> Изначальный вопрос был про бэкпорты, а для этого в основном хватает apt
> build-dep + uupdata + dpkg-buildpackage, к примеруну да, а obs-то тут зачем? backport можно и на локалхосте разок собрать. obs разработчику в основном нужен, чтоб не держать самому мильен сборочных систем под странные линуксы.
ну или неудачникам вроде меня, с унаследованной сборной солянкой на трех совершенно разных дистрибутивах, когда нужен как раз не бэкпорт а что-то, что приспичило такого, чего штатного нет или не тех версий - не ковыряться же с тремя билдхостами отдельно.
что-то, правда, улучшизмы нифига не порадовали в этой версии.
Пакеты там собираются как в Дебиане, т.е. dsc и все друзья.
Ясен пень, как в дебиане. Но если для rpm-спеков там нормальный контроль версий, то каталог debian какого-то лешего надо (было?) класть в виде архива. Очень удобно это хозяйство обновлять: затянул, распаковал, поправил, запаковал, закоммитил… Не говоря уже о том, чтобы просто посмотреть изменения, внесённые коммитом.
пару лет назад использовал вот это https://wiki.debian.org/AutomateBackports. Из проблем были только необходимость пересобирать некоторые зависимости и выпиливание systemd, который я бэкпортировать не собирался
https://wiki.debian.org/AutomateBackportsточка в конце портит ссылку
Интерфейс полностью скопирован с sourceforge, интересненько.
Оно и к лучшему. Разнообразие всевозможных интерфейсов раздражает. Предпочёл бы и вовсе все страницы свести к десятку шаблонов для разных юзкейсов.
> ** Добавлены модули для интеграции с Gitlab и [[https://pagure.io/ Pagure]], которые позволяют привязывать определённые действия в OBS при совершении новых коммитов или возникновении заданных событий в данных системах.[[https://openbuildservice.org/2013/11/22/source-update-via_token/ Let github.com trigger your source update]]
Объясните плиз.
а что не понятно? Слова github и gitlab отличаются в одну букву> You, of course, also want to throw the OBS into the mix and we traditionally supported you to do that on GitHub with webhooks. The 2.10 release now brings the same kind of support to other tools like Gitlab and Pagure. You can trigger all kinds of actions on OBS for every git commit or other events that happen on those tools.
> в одну буквуа мне пора поучиться считать
А какой смысл в специализированном сервисе если сейчас все это можно проделать через CI?
Смысл в том, чтобы не изобретать велосипедов, если требуется просто собирать пакеты.
Именно так. Не надо городить велосипеды, чтобы просто собирать пакеты.
Просто собирать пакеты мне надо максимум для дома, для организации мне надо куда больше начиная от логов сборки заканчивая закрытой репой. Плюс интеграционные тесты всего этого добра.
А для дома или для кого то чтоб было собрать ну да наверное пойдёт.
"Скрипты sysv init заменены на файлы systemd; "Нужно?
> "Скрипты sysv init заменены на файлы systemd; "
> Нужно?учитывая что их и раньше systemd через враппер запускал...
Сыстемды? Нет, не нужно!
большая неповоротливая штука
есть чтото попроще?
> Скрипты sysv init заменены на файлы systemd;Вот где ложка дёгтя в бочке мёда.
А по зборке пакетов и созданию разных дистров Gentoo с технологией "префиксов" все это может уже давным давно.
А свой OpenWRT можно собрать?
Свой openwrt можно собрать штатными средствами openwrt.