Инструкция по разворачиванию girar-builder — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
(Инструкция по установке сборочницы:)
Строка 57: Строка 57:
 
  GB_REPO_REL_SUFF_MUST_HAVE=
 
  GB_REPO_REL_SUFF_MUST_HAVE=
 
  GB_REPO_CODENAME=4.0
 
  GB_REPO_CODENAME=4.0
 +
 +
== Несколько замечаний ==
 +
* Некоторые вещи надо отключать, например автозакрытие багов багзиле
 +
* Список выполняемых действий можно редактировать в gb-run-task
 +
* Рекомендую пользоваться -x для отладки.
  
 
== Добавление пользователей: ==
 
== Добавление пользователей: ==

Версия 07:49, 23 октября 2009

42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Для работы сборочници нам необходимо:

  1. .управляющая машина
  2. .по машине на каждую архитектуру-бранч(полный перебор). Тоесть для сизифа,4.1,4.0 и архитектур i586,x86_64 нам нужно 6 машин.

Конечно все эти машины могуть быть(и обычно так и делается) контейнерами vz.

Настраиваем собирающие машины:

  1. здесь должно быть минимум всего
  2. должен быть ssh доступ от управляющей машины(и больше не от куда)
  3. должена быть копия репозитария(можно readonly) находящаяся в той же директории что и на упраляющей машине из софтра нужен только hasher и rsync
  4. должен быть юзер от которого управляющая машина приходит по ssh(для этого нужно сгерировать безпарольный ключ положить этому юзеру) этот юзер должен иметь возможность запускать hasher
  5. source.list должен быть настроен на тот репозитарий и ту архетектуру под которую мы будем собирать на этой машине

Инструкция по установке сборочницы:

  1. Берём машину со свежим сизифом
  2. На машине должен работать ssh
  3. установить git hasher gear sisyphus_check rpmbuild perl-RPM-Header qa-robot
  4. клонируем girar,собираем,ставим
  5. создаем эталнный git репозитарий для пакетов(mkdir /etc/girar/packages.git; cd /etc/girar/pacakges.git;git init-db —bare)
  6. аналогично private
  7. аналогично public
  8. Создаем юзера girar-builder
  9. содать дериктории /people /archive /gears /meta /srpms с владельцем и группой girar-builder
  10. Добавить имена репозиториев в /etc/girar/repositories(через enter)
  11. от пользователя girar-builder клонируем репозитарий с girar-builderом
  12. Копируем репозитарии. Он должен быть доступен на запись для girar-builder(наверное ему пренадлижать)
  13. генерируем ssh ключ на основной машине(безпарольный). Делаем чтобы она могла от юзера girar-builder ходить по тем сборщикам
  14. Добавляем их ip в /etc/hosts так чтобы они назывались например так build-4.1-x86_64 и build-4.1-i586
  15. Создаём конфиги. Сделаем 1 конфиг общий и по конфигу для каждого репозитария например так:
    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
    1. gb-sh-conf-4.1
GB_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
    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

Несколько замечаний

  • Некоторые вещи надо отключать, например автозакрытие багов багзиле
  • Список выполняемых действий можно редактировать в gb-run-task
  • Рекомендую пользоваться -x для отладки.

Добавление пользователей:

  1. кладём ключ через реального пользователея в системе
  2. запускаем команду SUDO_USER=имя реального пользователея; girar-add username путь_к_ключу(в хомнике реального пользователя) gecos
  3. например SUDO_USER=admin;girar-add user /home/admin/user «Vladimir vladimirovich <vvp@gov.ru>
  4. после этого пользователь может работать с git но не может управлять заданиями, для того чтобы он мог управлять заданиями надо сделать girar-build-enable user

Непонятно, замечания

  • Как иницировать ACL?
  • sisyphus прибит гвозядми