mongodb在travis-CI里失效

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容