Подключите CI Runner к сети Docker
У меня есть следующая конфигурация:
- закрепленный гитлаб (названный гитлаб)
- dockered gitlab-ci-multirunner (связанный с gitlab и именованными gitlab-runners).
┌──────────────────────┐ ┌─────────┐ │ 172.12.xx │ │172.13.x.│ ┌┴──────────┬┬──────────┴┐┌┴─────────┴┐ │ GitLab ││ GitLab ││ GitLab │ │ │││ Бегуны ││ Бегуны │ │ ││ ││ │ └───────────┘└───────────┘└───────────┘ │ │ │ ▲ │ │ │ ╱ │ │ │ ╱ │ │ ▼ ╱ ───────┴────────────┴────────────────────
Я успешно зарегистрировал бегуна в gitlab, но когда я пытаюсь запустить сборку, мне не удается подключить контейнер докера проекта, порожденного gitlab-runner, к моему докеру gitlab; поэтому, когда докер проекта пытается клонировать проект, он не может разрешить имя http://gitlab/ Я попытался использовать параметр -links=["network-name:gitlab"]
в томле файл моего бегуна, но это приводит к:
API error (500) Could not get container for <network name>.
Есть какие-нибудь подсказки?
Вот мой.томл:
одновременный = 1 check_interval = 0
[[runners]]
name = "d4cf95ba5a90"
url = "http://gitlab/ci"
token = "9e6c2edb5832f92512a69df1ec4464"
executor = "docker"
[runners.docker]
tls_verify = false
image = "node:4.2.2"
privileged = false
disable_cache = false
volumes = ["/cache"]
links = ["evci_default:gitlab"]
[runners.cache]
1 ответ
Единственное решение, которое я нашел, это добавить IP хоста докера в 'extra_hosts' файла config.toml.
extra_hosts = ["хост:192.168.137.1"]