Содержание

Сборочный сервер

Определения

Основные компоненты

SqUiMvkpq lbw8D4twm3cRQ.png

Сборочное ядро

Служит для:

Все команды для сборочного ядра приходят с веб интерфейса по XML-RPC
Сборочный сервер обрабатывает.выполняет запрос и отправляет результаты на веб интерфейс.
Существуют 2 типа сборочных платформ:

  1. Основные платформы
  2. Пользовательские платформы

Основные платформы предназначены для хранения и сборки дистрибутивов
Пользовательские платформы предназначены для хранения и сборки пользовательских проектов под разные дистрибутивы

Сборка проекта

  1. С веб интерфейса приходит запрос на сборку
  2. Сборочное ядро проверят возможность сборки данного проекта и добавляет задание в очередь
  3. Далее сборочное задание обрабатывается, при необходимости строится список обратных зависимостей
  4. Готовое сборочное задание попадает в очередь для принятия сборочными клиентами
  5. При подключении сборочный клиент сообщает под какой дистрибутив он может осуществить сборку и под какие архитектуры
  6. Клиент получает задание на сборку
  7. После сборки с веб интерфейса приходит команда на публикацию контейнера.
  8. Сборочный сервер проверяет возможность выполнения данной операции и возвращает результат на веб интерфейс. Задание помещается в очередь
  9. При публикации все собранные пакеты переносятся в репозитории с учетом их принадлежности тому или иному репозиторию. При этом обновляется информация о пакетах в БД.
  10. Результат переноса контейнера в репозитории отправляется на веб интерфейс

Сборочный клиент

Служит для сборки проектов. Сборочные клиенты различаются:


Принцип работы:

Сначала сборочный клиент забирает сборочное задание с ядра. Далее по очередности выполняется сборка каждого проекта в задании.

Порядок сборки проекта:

Если присутствуют циклические зависимости, сборка происходит повторно с подключением предыдущих результатов
После сборки всех проектов происходит автоматическое тестирование результатов сборки. Оно представляет собой попытку установки всех пакетов в chroot. Проверка нужна для контроля зависимостей у собранных пакетов
После сборки всех проектов и автоматического тестирования результаты отправляются на сборочное ядро

  1. Построение chroot происходит в tmpfs для ускорения работы
  2. Репозитории подключаются по http
  3. Результаты сборки можно увидеть через веб интерфейс

Модуль сборки образов

Служит для сборки образов ОС. Представляет собой xml rpc сервер, который принимает с веб интерфейса задания на сборку дистрибутива.
В веб интерфейсе отображаются необходимые для сборки скрипты и файлы. Кроме того, есть возможность загружать архивы с дополнительными файлами требуемыми для сборки образа.
Процесс сборки:

  1. С веб интерфейса приходит задание на сборку
  2. Задание попадает в очередь
  3. Перед началом выполнения задания на веб интерфейс отправляется статус о начале сборки
  4. Скачивается архив с дополнительными файлами с веб интерфейса
  5. Запускается скрипт сборки
  6. После сборки отправляется результат на веб интерфейс

Подключение дополнительных дистрибутивов к сборочному серверу

Для сборки своего дистрибутива необходимо создать свой сборочный клиент и свой модуль сборки образов (изменение шаблонов. Для получения шаблонов и добавления своего дистрибутива необходимо отправить запрос на info@rosalab.ru , указав название дистрибутива.
Далее вам будет выслан архив с исходными кодами шаблонов, документация по API, руководство по изменению шаблонов и контакты инженера из ABF.
Готовый сборочный клиент и модуль сборки дистрибутива необходимо отправить инженеру ABF на аудит. После этого совместно с командой ABF производится создание инфраструктуры для вашего дистрибутива. И совместно с вами тестирование сборочного клиента и модуля сборки дистрибутива.


Документация по теме «Сборочная среда ABF»