mongodb在travis-CI里失效

2019-03-01  本文已影响0人  krystollia

.travis.yml 里进行了如下配置:

services:
  - mongodb

在test程序中连接 127.0.0.1:27017 失败。根据google到的讨论,尝试了把地址改为 localhost,不work。在 .travis.yml 加了下面的语句:

before_script:
  - mongo mydb_test --eval 'db.createUser({user:"travis",pwd:"test",roles:["readWrite"]});'

发现在这句mongo命令执行时就会失败。

寻找了很多资料后,发现了有效的解决方案:
在 .travis.yml 中加入:

before_script:
  - mkdir -p data/db
  - mongod --dbpath=data/db &
  - sleep 5
  - mongo mydb_test --eval 'db.createUser({user:"travis",pwd:"test",roles:["readWrite"]});'

CI通过。

猜测可能是travis-CI对mongo的支持有变化,以前在 services里配置了mongodb就会自动启动mongo服务器,现在需要手动启。

上一篇下一篇

猜你喜欢

热点阅读