Как установить Mon go Service URI как переменную с именем пользователя и паролем в Gitlab CI? - PullRequest
2 голосов
/ 07 февраля 2020

Я использую Gitlab CI с Nodejs и MongoDB . У меня проблемы с установлением соединения с сервисом Mon go в CI. Я передаю Mon go URI в качестве переменной env. Вот мой .gitlab-ci.yml файл.

image: node:8.12.0

cache:
  paths:
    - node_modules/

services:
  - mongo
  - redis

variables:
  MONGO_URI: 'mongodb://mongo:27017/testDB?authMechanism=DEFAULT'

connect:
  image: redis
  script:
    - redis-cli -h redis PING

tests:
  script:
    - yarn && yarn test:integration

Я также пытался использовать Mon go URI с именем пользователя и паролем, оба значения admin, как показано ниже:

MONGO_URI: 'mongodb://admin:admin@mongo:27017/testDB?authMechanism=DEFAULT'

В обоих случаях я получаю ошибку:

MongooseTimeoutError: Server selection timed out after 30000 ms

Внутри моего кода mongoose.createConnection() вызывает вышеуказанную ошибку.

Тот же CI раньше работал, но после обновления моих пакетов mongo отказался подключаться к URI без имени пользователя и пароля. На моем локальном компьютере я создаю нового пользователя в mon go с именем пользователя и паролем, затем он работал как раньше. Но я не знаю, как передать Пн go URI с именем пользователя и паролем для службы Gitlab CI mon go или существует имя пользователя и пароль по умолчанию для передачи URL?

Любые выводы будут с благодарностью. Заранее спасибо.

...