Недавно я хотел переместить бегуна Gitlab, который я настроил для своего собственного размещенного экземпляра Gitlab, с того, чтобы он был бегуном проекта (т.е. выполнял задания только для проекта), на бегуна группы (чтобы он мог также запускать задания длядругие проекты в той же группе).Я хотел сохранить настройки /etc/gitlab-runner/config.toml
, которые были тщательно написаны от руки.
К счастью, я скопировал config.toml
, потому что sudo gitlab-runner unregister -t ... -u ...
удалил всю конфигурацию из config.toml
.
Чтобы получить тот же конфиг, зарегистрированный в группе, а не в проекте, мне пришлось:
- Зарегистрировать бегуна в состоянии паузы с фиктивной конфигурацией с маркером регистрации группы:
sudo gitlab-runner register \
--non-interactive \
--url <URL HERE>
--registration-token <TOKEN HERE> \
--executor docker \
--docker-image docker:dind \
--paused
Перейдите к новому config.toml
, который он создал, и скопируйте токен отдельного бегуна.
Перезапишите config.toml
с моей желаемой конфигурацией.
Отредактируйте config.toml
и подключите новый отдельный токен бегуна.
Запустите службу Gitlab Runner Sercice (sudo systemctl start gitlab-runner
).
Отключение бегуна в веб-интерфейсе Gitlab.
Даже после всего этого экземпляр Gitlab по-прежнему видит бегуна под именем, зарегистрированным в фиктивной конфигурации.вместо имени в config.toml
.
Попытка опции --config
для gitlab-runner register
не работала вообще;Я думаю, что просто говорит, где сохранить конфигурации.Он по-прежнему подсказывал мне использовать новые настройки вместо чтения из config.toml
, на который я указывал.
Документация Gitlab по регистрации бегунов написана вокруг одного выстрела gitlab-runner register
команд с множеством опций на них.по сути, указать всю конфигурацию в командной строке.Я действительно не хочу переводить мой config.toml
вручную в командную строку, которая переворачивает и перестраивает ее (конечно, без каких-либо комментариев).
Я не могу поверить, что это действительно правильный рабочий процессперерегистрировать бегуна в новом экземпляре проекта / группы / Gitlab или создать копию бегуна из сохраненной конфигурации.Что мне здесь не хватает?Как я могу создать новый бегун Gitlab из существующего config.toml
файла?