Когда я использую образы докеров в Gitlab CI, как использовать псевдоним службы? - PullRequest
0 голосов
/ 11 мая 2018

Ниже приведен отрывок из моего файла gitlab-ci.yml. Проще говоря, мне нужно создать службу Redis, а затем ссылаться на нее, как это требуется для тестирования.

Поскольку сервер redis создается динамически, я не знаю простого способа заставить его посмотреть на 'localhost' или 123.321.234.234 и т. Д.

Есть ли способ отменить псевдоним службы, такой как созданный ниже, чтобы ее значение могло быть передано в другой контейнер, чтобы они могли «говорить»? В моем коде я пытаюсь сослаться на псевдоним 'redis' и передать это значение в переменную окружения во время конвейера, но оно превращается в буквальную строку.

Я также пробовал $ {redis}, и это тоже не получается.

Самое большое, что я получил, было то, что я прочитал из документации gitlab по якорям, о которой я ниже.

Ниже приведены места, где я искал ответы

https://docs.gitlab.com/ce/ci/yaml/README.html https://docs.gitlab.com/ee/ci/docker/using_docker_images.html

# the image and gitlab services to use in the build stages
.build-web-image: &build-web-image
 image: Dontworryaboutit.com:4567/folder/dockerImage:1.0.0
 services:
  - name: redis:3.2.8
    alias: redis

# The job that runs the yarn run test that requires a redis server
Test Web:
 <<: *build-web-image
 stage: Stage 2
 before_script:
  - export REDIS=redis:1234
  - yarn
 script:
  - yarn run test

1 Ответ

0 голосов
/ 17 мая 2018

псевдонимы могут быть разыменованы путем обращения к их имени строки без дополнительных декораций, таких как

${variable}

. Вы можете просто набрать

 variable

. Убедитесь, что вы проверили свой файл config.toml наубедитесь, что исполнитель докера используется для этого бегуна.При переключении стратегий CI / CD сделать ошибку легко.

...