Прекратить запуск сервера на этапе сборки файла wercker.yml
Я хочу проверить, что мой сервер действительно может запуститься на этапе сборки, поэтому выполняется один шаг sails lift
(Я использую приложение sails.js). Сервер sails запускается нормально, но через 5 минут он отключается, что приводит к сбою сборки.
В любом случае, я все еще могу заставить сборку пройти. Может быть, через 30 секунд, что будет означать, что сервер загрузился нормально, чтобы выйти сам и вернуть true?
1 ответ
Я думаю, ты не можешь этого сделать. Если вы просто хотите проверить, что ваш сервер будет загружен перед развертыванием, я рекомендую вам написать один тест. Паруса объединяют boostrap.test.js
файл, который следует за этим шагом:
1. ваше приложение поднять паруса
2. ваш тест пройден
3. ваше приложение паруса ниже
Вот файл bootstrap.test.js
которые делают это:
var Sails = require('sails'),
sails;
before(function(done) {
// Increase the Mocha timeout so that Sails has enough time to lift.
this.timeout(5000);
Sails.lift({
// configuration for testing purposes
}, function(err, server) {
sails = server;
if (err) return done(err);
// here you can load fixtures, etc.
done(err, sails);
});
});
after(function(done) {
// here you can clear fixtures, etc.
Sails.lower(done);
});
Следуйте рекомендациям раздела тестирования парусной документации, и вы сможете организовать свои тесты и написать их.
Вы проведете свой тест с мокко
Вы можете иметь ярлык с npm test
команда, отредактировав ваш package.json:
// package.json
scripts": {
"start": "node app.js",
"debug": "node debug app.js",
"test": "mocha test/bootstrap.test.js test/unit/**/*.test.js"
},
Что касается Wercker, вам нужно будет установить mocha на одном из ваших шагов, прежде чем запускать тесты примерно так:
# Docker container based on lastest stable iamge of node on DockerHub
box:node
build:
steps:
# Install your project dependencies (npm)
-npm-install
# Install mocha globally
- script:
name: Install mocha globaly
code: npm install -g mocha
# Run your tests
-npm-test
deploy:
steps:
# deploy your application