Подключите 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"]

Другие вопросы по тегам