¿Cómo se exponen los puertos de servicio de Gitlab CI?
tengo un.gitlab-ci.yml
archivo:
integration_test:
services:
- name: registry.gitlab.com/group/project/testmailserver:1.1
alias: "mail.email"
stage: test
script:
- ./gradlew -g /cache/.gradle --stacktrace --info integrationTest
El servicio es un servidor de correo electrónico completo basado en esto:tvial/docker-mailserver:latest
. Localmente con midocker-compose
config Puedo ejecutarlo y conectarme a él.
version: '2'
services:
mail:
image: registry.gitlab.com/group/project/testmailserver:1.1
hostname: mail
domainname: localhost
ports:
- "25:25"
- "143:143"
- "587:587"
- "993:993"
environment:
- ONE_DIR=1
- DMS_DEBUG=0
- MAIL_USER=invoicereader
- MAIL_PASS=invoicereader
cap_add:
- NET_ADMIN
Si lo ejecuto condocker-compose up
y conectarse a través de IMAP en el puerto 993 funciona bien. También la prueba de integración funciona sin problemas
Sin embargo, si la prueba de integración es ejecutada por gitlab CI, falla. La única excepción que pude obtener esconexión denegada.
¿Puede ser que los puertos del servicio no estén expuestos correctamente? ¿Cómo determina el servidor CI los puertos que tiene que abrir para dicho servicio?
¿Cuál podría ser el problema cuando se ejecuta con CI? ¿Cómo puedo probarlo de manera diferente?
Perdón por la gran cantidad de preguntas, estoy irremediablemente perdido ...