On Mon, May 18, 2009 at 03:11:59AM +0300, Kirill A. Shutemov wrote: > Насколько я понимаю, архитектура сборки с использованием git.alt уже более-менее > устоялась. К сожалению, никакой документации описывающую эту архитектуру я не > нашёл. Может ли кто-либо из разработчиков, сделать обзор архитектуры сборочницы. > В частности, интересует какие компоненты вовлечены в процесс и как они > взаимодействуют между собой. Есть два главных компонента системы: girar и girar-builder. girar это то что обслуживает ssh доступ к git.altlinux.org. girar формирует задания для сборки. Далее эти задания забирает на сборку girar-builder. Задание -- это каталог со специальной структурой (ближайшая аналогия -- каталог /proc/$pid). Структура каталога описана в файле girar-builder/TASK. Описание может быть неполным или неточным, но оно дает правильное первоначальное представление. Процедура сборки задания находится girar-builder/gb-run-task. Задание состоит из нескольких стадий, которые выполняются в режиме 'sh -e' (то есть, когда одна из стадий завершается с ошибкой, остальные стадии не выполняются). Последние стадии задания -- это копирование собранных пакетов в репозитарий и перегенерация репозитария. У girar-builder нету своего хешера. Хешер существует на ноде, которая называется $remote_host. В каталоге girar-builder/remote/ лежат программы, которые выполняются на $remote_host. В частности, для сборки пакетов на ноде выполняется программа girar-builder/remote/gb-remote-build.