Недавно я хотел переместить бегун 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 (
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
файла?