Один Gitlab CI runner на проект?

Мы обновились с Gitlab 7.11.4 до 9 одним махом (случайно). Теперь мы пытаемся настроить CI так, как он работал раньше. Я понимаю, что сейчас CI - это интегрированная вещь.

Один из моих коллег занимался многопользовательской игрой. Запущенная команда выглядит так:

/usr/bin/gitlab-ci-multi-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner

Но раньше у нас был 1 бегун для каждого проекта, и у нас был пользователь, связанный с каждым проектом. Итак, если у нас есть 2 проекта под названием «портал» и «движок», у нас будут пользователи, созданные таким образом:

gitlab-runner-fps-portal
gitlab-runner-fps-engine

И, будучи пользователями, у них были бы домашние папки вроде:

/home/gitlab-runner-fps-portal
/home/gitlab-runner-fps-engine

В более старой версии CI у вас был бы config.yml с URL-адресом CI и токеном бегунов. Теперь у вас есть config.toml.

Я хочу «отделить» бегунка движка от этой многоступенчатой ​​установки, которая работает под пользователем «gitlab-runner» и имеет свой собственный бегун, работающий под управлением «gitlab-runner-fps-engine».

Легко сделать? Прямо сейчас, поскольку весь этот бизнес с докерами является для нас новым, мы продолжаем использовать «оболочку» в качестве нашего исполнителя в gitlab, если эта информация полезна.


person Kelly Beard    schedule 29.03.2017    source источник


Ответы (1)


Есть как минимум два способа сделать это:

  1. Зарегистрируйте конкретного исполнителя в каждом из проектов. и отключите общих бегунов.
  2. Используйте теги , чтобы указать, что задание должно выполняться на определенном средстве выполнения. Таким образом, вы можете запускать некоторые задания CI в вашей определенной среде, в то время как другие (например, lint) могут выполняться на помеченных общих бегунах.
person Jakub Kania    schedule 29.03.2017