Я использую 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?
Любые выводы будут с благодарностью. Заранее спасибо.