Я установил GitLab CE на Ubuntu с помощью пакета OmniBus и GitLab CI Multirunner с исполнителем Docker (параметр docker при настройке Multirunner).

Я запустил простой тестовый конвейер с этим .gitlab-ci.yml:

image: node
default:
  script:
  - echo okay

Это дало мне эту ошибку в журнале заданий сборки CI:

Не удалось разрешить хост {computerName}

Я видел, как кто-то предлагал добавить extra_hosts = ["{computerName}:127.0.0.1"] в /etc/gitlab-runner/config.toml под [runner.docker], и эта ошибка исчезла.

Теперь я получаю эту ошибку:

Невозможно получить доступ к 'http: // gitlab-ci-token: {ciToken}: {computerName} /root/test.git/ ': не удалось подключиться к порту 80 {computerName}: в соединении отказано .

Я видел предложение изменить external_url, но не знаю, что делать. В настоящее время там написано {computerName}, как и везде. Бегун пытается получить доступ к этому через порт 80, все, как я ожидал.

Я думаю, что, возможно, 80 работает для меня в Firefox и Git, но не в runner, означает, что он пытается подключиться к 80 в сети Docker, что не удается, потому что служба находится в сети хоста. Эта идея еще больше подкрепляется тем фактом, что, беря http://gitlab-ci-token:{ciToken}:{computerName}/root/test.git/ и вставляя его в браузер, я попадаю на страницу репозитория в моем экземпляре GitLab.

Я не знаю, что изменить external_url, чтобы он работал с клоном Git в контейнере Docker. Как я могу объединить их в сеть?

Для справки, я также связал этот вопрос в новом тема на форуме GitLab, и если ответ будет найден, я попрошу автора ответить и на SO, чтобы я мог закрыть этот вопрос SO.

1
Tomáš Hübelbauer 11 Июл 2017 в 18:14

1 ответ

Лучший ответ

Строка extra_hosts = должна добавить запись hosts для IP-адреса, по которому ваш сервер gitlab доступен из внутри контейнера докеров, поэтому, вероятно, не 127.0.0.1.

В случае запуска docker на том же компьютере, что и ваш gitlab, это IP-адрес, назначенный вашему интерфейсу docker0, например 172.17.0.1.

1
marcolz 12 Июл 2017 в 15:24
Спасибо огромное!
 – 
Tomáš Hübelbauer
12 Июл 2017 в 15:37
Документация GitLab MR, охватывающая это: gitlab.com/gitlab-org/ gitlab-ci-multi-runner / merge_requests / 629
 – 
Tomáš Hübelbauer
12 Июл 2017 в 15:46