zoryn builder¶
Управление сборочными машинами (локальными и удалёнными hasher).
Использование¶
Подкоманды¶
list [--simple]— список доступных билдеров (--simple— только имена).status— проверка доступности (свободен/занят).config [NAME]— полная конфигурация билдера включая значения по умолчанию.shell [--builder=NAME]— открыть shell в hasher.install [--builder=NAME] PKG...— установить пакеты в hasher.run [BUILDER] [--rooter] [--execute=PATH] -- CMD [ARGS]— запустить команду в chroot hasher.add [опции]— добавить новый билдер (интерактивно или нет).remove NAME [-y]— удалить конфигурацию билдера (встроенныйlocalудалить нельзя).copy SRC... DST— копировать файлы в/из chroot hasher (builder:pathдля путей внутри chroot).clean [--all|--all-local|--all-remote] [NAME...]— очистить chroot hasher и вспомогательные каталоги.
zoryn builder add¶
Опции:
--name=NAME— имя билдера (обязательно для неинтерактивного режима).--type=TYPE— тип:localилиremote(по умолчанию:remote).--host=HOST— удалённый хост (SSH alias). Обязателен для remote.--arch=ARCH— целевая архитектура. Определяется автоматически с хоста.--hasher-dir=DIR— каталог hasher. Без--multi-add: путь как есть (по умолчанию:~/hasher). С--multi-add: шаблон с{hasher_number}(по умолчанию:~/hasher_{hasher_number}).--remote-dir=DIR— каталог сборки на удалённом хосте (по умолчанию:~/build).--description=TEXT— описание билдера.-n, --number=N— номер hasher для параллельных сборок (1–128).--based=NAME— копировать настройки из существующего билдера.--repo=PATH— путь к репозиторию или URL для локального управления конфигом apt. Можно повторять для--multi-add(ветка определяется автоматически из release-файла каждого репозитория). Генерируетapt.conf,sources.list,preferencesлокально и синхронизирует с билдером перед каждой сборкой. Локальные пути автоматически префиксуютсяfile:///.--multi-add=N— создать N билдеров на ветку с последовательной нумерацией hasher. Требует хотя бы один--repo.--start-number=M— начать нумерацию hasher с M (по умолчанию:1). Используется с--multi-add.--dry-run— предпросмотр без создания. С--multi-add.--force— перезаписать существующие конфигурации. С--multi-add.--apt-conf=PATH— альтернативныйapt.conf(вместо/etc/apt/apt.conf). Поддерживаетhost:pathдля чтения с удалённых хостов.--sources-list=PATH— альтернативныйsources.list(переопределяет путь изapt.conf). Поддерживаетhost:path.--no-create-hasher-users— не создавать satellite-пользователей hasher (по умолчанию создаются черезsudo hasher-useradd).-y, --yes— автоподтверждение.
Локальная конфигурация apt с --repo¶
Вместо настройки apt на хосте билдера укажите репозиторий через --repo:
Это генерирует apt.conf, sources.list, preferences локально в ~/.config/zoryn/builders.d/{name}/apt/ и синхронизирует с билдером перед каждой сборкой. Ветка определяется автоматически из release-файла.
В интерактивном режиме репозиторий запрашивается с TAB-дополнением для локальных и удалённых путей. По умолчанию — значение из /etc/apt/sources.list на хосте билдера.
Флаг --repo принимает:
- Локальные пути:
/path/to/repo(автоматически с префиксомfile:///). - HTTP/HTTPS URL:
http://example.com/repo.
Ручные переопределения (--apt-conf, --sources-list) имеют более высокий приоритет.
Массовое создание билдеров¶
# 5 билдеров для двух веток (10 всего, ветки из репозиториев)
zoryn builder add --name node1 --host user@server --multi-add 5 \
--repo /srv/repo/p11 --repo /srv/repo/sisyphus -y
# Предпросмотр без создания
zoryn builder add --name node1 --host user@server --multi-add 3 \
--repo /srv/repo/p11 --dry-run
# Нумерация с 10
zoryn builder add --name node1 --host user@server --multi-add 5 \
--repo /srv/repo/p11 --start-number 10 -y
Создание hasher-пользователей¶
По умолчанию builder add автоматически создаёт satellite-пользователей hasher через sudo hasher-useradd, если их нет. Требуется passwordless sudo на хосте билдера. Пропустить — --no-create-hasher-users.
Примеры¶
zoryn builder list # список всех билдеров
zoryn builder list --simple # только имена (для скриптов)
zoryn builder list -a x86_64 # фильтр по архитектуре
zoryn builder list --host local # только локальные
zoryn builder list -a i586 -B p10 # комбинация фильтров
zoryn builder status # статус всех
zoryn builder status -b shell64 # статус конкретного
zoryn builder config # конфиг локального по умолчанию
zoryn builder config arm-server # конфиг конкретного
zoryn builder shell # shell в hasher по умолчанию
zoryn builder shell -b arm-server # shell на удалённом
zoryn builder run -- rpm -qa # команда в hasher
zoryn builder run my-builder -- ls -la # на конкретном
zoryn builder run --rooter -- cat /etc/shadow # от pseudoroot
zoryn builder run --execute=./setup.sh # скрипт в hasher
zoryn builder install vim nano # установить пакеты
zoryn builder copy ./file.c mybuilder:src/ # файл в chroot
zoryn builder copy mybuilder:build.log ./ # файл из chroot
zoryn builder add # интерактивно
zoryn builder add --based shell64 # на основе существующего
zoryn builder add --name arm --host myserver -y
zoryn builder add --name local-i586 --type local --arch i586 -y
zoryn builder add --name arm --host user@myserver --number 3 -y
zoryn builder add --name arm --host user@myserver --number 3 --no-create-hasher-users -y
zoryn builder add --name p11 --host myserver --repo /home/repo/p11 -y
zoryn builder add --name nfs --type local --apt-conf /etc/apt-nfs/apt.conf -y
zoryn builder add --name p11 --host mybuilder --apt-conf mybuilder:apt/p11/apt.conf -y
zoryn builder remove mybuilder # удалить (с подтверждением)
zoryn builder remove mybuilder -y # удалить без подтверждения
zoryn builder clean local # очистить конкретного
zoryn builder clean --all-local # все локальные
zoryn builder clean --all # всех
zoryn builder clean --all --dry-run # предпросмотр