Любая причина, почему я не могу подключиться к localhost в GitLab.com CI? - PullRequest
0 голосов
/ 23 октября 2019

Я хочу протестировать некоторые API HTTP REST, и для этого мне нужно, чтобы моя работа могла слушать и отправлять запросы самому себе.

Чтобы смоделировать такой сценарий, я сделалпростой конвейер, где я монтирую сервер netcat, а затем пытаюсь подключиться.

test_backend_job:
  image: debian:latest
  script:
    - apt-get update && apt-get --assume-yes install netcat
    - nohup nc -l localhost 5000 &
    - sleep 5
    - nc -v localhost 5000

Если я попробую это сделать на моем ПК, соединение будет установлено успешно. Однако в GitLab я получаю отказ в соединении, в любом выбранном мной порту.

(...)
Preparing to unpack .../netcat-traditional_1.10-41.1_amd64.deb ...
Unpacking netcat-traditional (1.10-41.1) ...
Selecting previously unselected package netcat.
Preparing to unpack .../netcat_1.10-41.1_all.deb ...
Unpacking netcat (1.10-41.1) ...
Setting up netcat-traditional (1.10-41.1) ...
update-alternatives: using /bin/nc.traditional to provide /bin/nc (nc) in auto mode
Setting up netcat (1.10-41.1) ...
$ nohup nc -l localhost 5000 &
$ sleep 5
$ nc -v localhost 5000
localhost [127.0.0.1] 5000 (?) : Connection refused
ERROR: Job failed: exit code 1

Чего мне не хватает? Это должно быть довольно просто.

Примечание: Я запускаю это в их "облаке".

1 Ответ

1 голос
/ 28 октября 2019

Вы пытались использовать образ netcat в качестве службы и затем запускать сценарии?

https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#how-services-are-linked-to-the-job

...