Girar/Internals
< Girar
Версия от 10:32, 18 мая 2009; Ender (обсуждение | вклад)
Есть два главных компонента системы: girar и girar-builder.
- girar
- это то что обслуживает ssh доступ к git.altlinux.org. girar формирует задания для сборки.
- girar-builder
- забирает задания на сборку.
- Задание
- это каталог со специальной структурой (ближайшая аналогия -- каталог /proc/$pid).
Структура каталога описана в файле girar-builder/TASK. Описание может быть неполным или неточным, но оно дает правильное первоначальное представление.
Задание состоит из нескольких стадий, которые выполняются в режиме sh -e (то есть, когда одна из стадий завершается с ошибкой, остальные стадии не выполняются). Последние стадии задания -- это копирование собранных пакетов в репозитарий и перегенерация репозитария.
Процедура сборки задания находится в girar-builder/gb-run-task.
У girar-builder нету своего хешера. Хешер существует на ноде, которая называется $remote_host. В каталоге girar-builder/remote/ лежат программы, которые выполняются на $remote_host. В частности, для сборки пакетов на ноде выполняется программа girar-builder/remote/gb-remote-build.