2017-01-24 7 views
1

Первый вопрос на SO ... извините, если это пойдет не так.Как назвать «mongoimport» из дочернего процесса Node.js на Travis-CI.org?

Я использую Mocha для тестирования модуля Node.js. Модуль использует child_process.exec() для вызова команды mongoimport ... если все идет хорошо, он должен загрузить некоторые тестовые данные в базу данных MongoDB.

Все тесты проходят на моем ноутбуке (Node 6.9, MongoDB v3.4.1), но все терпят неудачу, когда я перейду к использованию Travis-CI.org:

{ 
"killed": false, 
"code": 127, 
"signal": null, 
"cmd": "mongoimport -h localhost:27017 -d test -c test_planets --type json --file \"/tmp/planet.json\" --upsertFields planetName" 
} 

... потому что, я думаю, это не найти команду mongoimport?

SO помог мне точку в этот .travis.yml файл, который, кажется, отлично работает, чтобы получить V3 MongoDB прядильного вверх:

language: node_js 
node_js: 
    - "6.9" 
sudo: false 
addons: 
    apt: 
    sources: 
     - mongodb-upstart 
     - mongodb-3.0-precise 
    packages: 
     - mongodb-org-server 
     - mongodb-org-shell 

before_script: 
    - sleep 15 

... и я счастлив, MongoDB доступен (другие тесты подключились и прошли). Мне нужна последняя версия для всех новых вещей upsert.

  • Но я врезался в стену о том, как выполнить команду mongoimport из дочернего процесса Node.js на Travis-CI (новый, что хорошо). Возможно ли это?

Любая помощь очень ценится!

Tim

ответ

2

Просто добавьте "MongoDB-орг-инструменты" в разделе пакетов вашего файла .travis.yml. Это сделает команду mongoimport доступной.

+0

Это отлично работает, спасибо Джазу! –