Служба сборки

Материал из openSUSE.

openSUSE Build Service - это открытая и готовая платформа разработки дистрибутива, предоставляющая инфраструктуру для разработки будущих дистрибутивов openSUSE.

Служба дает разработчикам инструмент для простого создания и выпуска программного обеспечения с открытым кодом для openSUSE и других дистрибутивов Linux, для различных платформ и широкого круга пользователей. Пользователи могут легко найти последние пакеты с открытым кодом, которые они ищут, и настроить их под себя. Build Service создает мост между разработчиками и пользователями при помощи возможности обратной связи и рейтингов. Для разработчиков служба является удачным местом для создания коллективов и совместной работы, используя систему проектов.


Содержание

openSUSE Build Service Developer Web Interface
Увеличить
openSUSE Build Service Developer Web Interface

Возможности

В введении мы упомянули о том, что Служба сборки (англ. Build Service) - это готовая платформа, предоставляющая инфраструктуру, необходимую для разработки дистрибутивов, основанных на openSUSE.

Служба также позволяет компилировать и собирать пакеты для дистрибутивов Linux отличных от openSUSE, таких как Fedora, Debian, Ubuntu и многих других.

Посредством веб-интерфейса пользователи openSUSE могут с лёгкостью просматривать и загружать последние версии пакетов с http://software.opensuse.org/.

Открытые интерфейсы позволяют работать Службе сборки с внешними службами и веб-страницами (например SourceForge).

В добавок, Служба сборки станет доступна любому, владеющему пользовательскими/доверенными правами, и будет способна создавать «отложенные» сборки (например LSB, образы Xen).

Преимущества

Для пользователей

  • Возможность скачать самую "свежую" версию программы для их дистрибутива. Благодаря доверительным отношениям в службе сборки, пользователь может решить "Я доверяю проекту абв" и после этого устанавливать пакеты только этого проекта.
  • Получение обновлений для устаревших дистрибутивов. (Например KDE 3.5.7 для SL 10.0)
  • Увеличение унификации различных дистрибутивов. Пакеты их службы сборки могут объединять людей - думая о том "Почему они это делают? Почему они используют эти каталоги? - Я хочу осуществить это и в моем дистрибутиве". (Но это в будущем... :-)

Вы можете с легкостью найти и установить программное обеспечение через Интерфейс конечного пользователя. Дополнительно, вы также можете устанавливать вручную при помощи менеджера пакетов, взгляните здесь для получения подробных инструкций.

Для разработчиков

  • Отпадает необходимость в «компьютерных фермах», компилирующих программное обеспечение для разных архитектур.
  • Создание более эффективного программного обеспечения: до сих пор существуют проекты использующие 16-битные процессы, авторы которых удивляются, почему их ПО не компилируется на 32- или 64-битных платформах.
  • Автоматическое разрешение зависимостей между пакетами. Если пакет А зависит от пакета Б, он автоматически будет отмечен для пересборки, в случае пересборки Б.
  • Связывание с другими проектами: исправления могут быть протестированы с новейшими пакетами других проектов. Например: у разработчика есть исправление для Amarok, и он хочет протестировать его в определенном окружении. У него есть возможность создать ссылку на проект KDE и использовать его как тестовое окружение. В результате его «версия» Amarok будет пересобираться при каждой новой сборке проекта KDE.

Для распространителей

  • Build Service дает возможность создать целостный дистрибутив или измененные образы, которые могут легко использоваться различными путями. Выпущена первая версия KIWI для создания образов для загрузки по сети или для использования как образ Xen или VMware.

График разработки

Здесь вы можете посмотреть наш график разработки и сопутствующий ему журнал изменений, также представлен список идей.

Использование

Службу сборки можно использовать посредством Web-интерфейса, Утилиты командной строки или программ использующих открытый API. Сборщики пакетов могут также прочитать руководство по сборке пактов для нескольких дистрибутивов и Build Service Tutorial.

Для входа в Build Service вы должны использовать вашу учетную запись Novell. Дополнительную информацию о входе в систему вы найдете в соответствующем разделе статьи Build_Service/Tutorial.

Некоторые советы можно найти на странице Подсказки и Советы для Build Service.

Обзор исходных кодов

Существует несколько проектов Google Summer of Code, связанных с openSUSE Build Service:

Служба сборки исходных кодов

Репозитарий SVN

Исходный код и документация по Службе сборки находится на forge.novell.com. Репозитарий содержит исходный код как утилит клиента, так и сервера.

Используйте эту команду для получения текущего исходного кода:

svn co https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice

Пакеты

Пакеты находятся на сервере сборки, но они еще не готовы для промышленного применения. Предстоит сделать многое, перед тем как они будут признаны готовыми. Пакеты можно найти в репозитарии openSUSE:/Tools. Ищите пакеты под названием obs-* (openSUSE Build Server).

Как помочь проекту

Как и в случае других проектов с открытым кодом, вы можете начать писать патчи или предлагать идеи для разработки. Люди, делающие рабочий код, могут получить доступ на запись в репозитарии SVN.

Были проекты Google Summer of Code в области openSUSE Build Service:

Документация

  • Build Service Tutorial показывает первые шаги по созданию собственных проектов и пакетов.
  • Мы предоставляем две статьи с FOSDEM о Build Service. Первая статья дает обзор идеи Build Service и его архитектуры. Вторая статья описывает в подробностях модель проекта и разъясняет, как собирать для нескольких дистрибутивов, включая openSUSE, Fedora, Mandriva и Debian.
  • Важная часть - это документация API. API - это элементарный и наиболее общий интерфейс для работы с Build Server. Вы можете использовать его для интеграции в ваши инструменты для выкладывания обновлений кода, проверки текущего состояния ваших проектов или чего-либо другого и интересного.
  • Вам не нравится Веб-Интерфейс или инструмент командной строки? Вы можете исправить его или написать свой. Исходники и того, и другого доступны в нашем репозитарии forge.

Для связи

Подпишитесь на рассылку opensuse-buildservice (архив). Приветствуется любая поддержка, еще больше мы будем рады патчам, новым инструментам и новым идеям.

Некторых из нас вы можете также найти на канале #openSUSE-buildservice в сети freenode.

Вы можете сообщать об ошибках в Build Service через Bugzilla.

Ваша Команда openSUSE Build Service


Клиенты Build Service

Архитектура, основанная на REST API позволяет легкое написание различных клиентов. Это дает нам шанс удовлетворить потребности пользователей с различным опытом. Клиенты могут ставить разные ударение на разные случаи использования.

Веб-клиент

Веб-клиент для openSUSE Build Service даёт лёгкий доступ ко всем возможностям Build Service, а также является наиболее полным графическим интерфейсом.

Клиенты командной строки

В настоящее время есть два инструмента командной строки для службы сборки. Оба описаны здесь:

Кроме того, если вы разработчик службы сборки, вы можете заинтересоваться использованием rest API службы сборки напрямую через curl


KDE Rich Client

Был проект Google Summer of Code, который начал осуществлять KDE Rich Client, за дополнительной информацией обратитесь к Rich Client