Прекратить запуск сервера на этапе сборки файла 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  
Другие вопросы по тегам