Инструкция по разворачиванию girar-builder
Версия от 10:44, 23 октября 2009; MichailYakushin (обсуждение | вклад) (→Инструкция по установке сборочницы:)
Для работы сборочници нам необходимо:
- .управляющая машина
- .по машине на каждую архитектуру-бранч(полный перебор). Тоесть для сизифа,4.1,4.0 и архитектур i586,x86_64 нам нужно 6 машин.
Конечно все эти машины могуть быть(и обычно так и делается) контейнерами vz.
Настраиваем собирающие машины:
- здесь должно быть минимум всего
- должен быть ssh доступ от управляющей машины(и больше не от куда)
- должена быть копия репозитария(можно readonly) находящаяся в той же директории что и на упраляющей машине из софтра нужен только hasher и rsync
- должен быть юзер от которого управляющая машина приходит по ssh(для этого нужно сгерировать безпарольный ключ положить этому юзеру) этот юзер должен иметь возможность запускать hasher
- source.list должен быть настроен на тот репозитарий и ту архетектуру под которую мы будем собирать на этой машине
Инструкция по установке сборочницы:
- Берём машину со свежим сизифом
- На машине должен работать ssh
- установить git hasher gear sisyphus_check rpmbuild perl-RPM-Header qa-robot
- клонируем girar,собираем,ставим
- создаем эталнный git репозитарий для пакетов(mkdir /etc/girar/packages.git; cd /etc/girar/pacakges.git;git init-db —bare)
- аналогично private
- аналогично public
- Создаем юзера girar-builder
- содать дериктории /people /archive /gears /meta /srpms с владельцем и группой girar-builder
- Добавить имена репозиториев в /etc/girar/repositories(через enter)
- от пользователя girar-builder клонируем репозитарий с girar-builderом
- Копируем репозитарии. Он должен быть доступен на запись для girar-builder(наверное ему пренадлижать)
- генерируем ssh ключ на основной машине(безпарольный). Делаем чтобы она могла от юзера girar-builder ходить по тем сборщикам
- Добавляем их ip в /etc/hosts так чтобы они назывались например так build-4.1-x86_64 и build-4.1-i586
- Создаём конфиги. Сделаем 1 конфиг общий и по конфигу для каждого репозитария например так:
- gb-sh-conf-girar-builder
GB_GEARS_DIR=/gears/ GB_SRPMS_DIR=/srpms GB_TASKS_DIR=/var/spool/girar/tasks/ GB_META_DIR=/meta GB_HOME=/home/girar-builder/girar-builder/ GB_REPO_EMAIL=org@altlinux.org GB_REPO_MIRRORS=localhost GB_REPO_RPMARGS="-ba" GB_BUGZILLA_FROM= GB_REPO_SIGNER=org@altlinux.org
- gb-sh-conf-4.1GB_REPO_LABEL=4.1
GB_REPO_DIR=/4.1 GB_REPO_UP_NAME= GB_REPO_DOWN_NAME=4.0 GB_REPO_REL_SUFF_MUST_NOT="M50" GB_REPO_REL_SUFF_MUST_HAVE= GB_REPO_CODENAME=4.1
- gb-sh-conf-4.0
GB_REPO_LABEL=4.0 GB_REPO_DIR=/4.0 GB_REPO_UP_NAME= GB_REPO_DOWN_NAME= GB_REPO_REL_SUFF_MUST_NOT="M50 M41" GB_REPO_REL_SUFF_MUST_HAVE= GB_REPO_CODENAME=4.0
Добавление пользователей:
- кладём ключ через реального пользователея в системе
- запускаем команду SUDO_USER=имя реального пользователея; girar-add username путь_к_ключу(в хомнике реального пользователя) gecos
- например SUDO_USER=admin;girar-add user /home/admin/user «Vladimir vladimirovich <vvp@gov.ru>
- после этого пользователь может работать с git но не может управлять заданиями, для того чтобы он мог управлять заданиями надо сделать girar-build-enable user
Непонятно, замечания
- Как иницировать ACL?
- sisyphus прибит гвозядми