.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服务器,现在需要手动启。