Я хочу протестировать некоторые 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
Чего мне не хватает? Это должно быть довольно просто.
Примечание: Я запускаю это в их "облаке".