Непрерывная интеграция: Codeship + Gulp (Жасмин)

Моя непрерывная интеграция прекрасно работает с использованием Codeship, за исключением одного: прекратите развертывание и предупредите нас, если модульные тесты не пройдены.

Вот наши текущие команды:

  1. установка npm
  2. нпм установить беседку
  3. установка беседки
  4. глоток
  5. глоток

Проблема в том, gulp test закончиться успехом или неудачей, gulp build строит.

Мне удается console.log() мой gulp test статус выхода, но я не знаю, как заставить Codeship прослушивать этот статус выхода.

3 ответа

Решение

Используя ответ @mlocker и это обсуждение на Github, я нашел обходной путь, который мне подходит:

gulp.task('test', function (done) {
  karma.start({}, function(exitStatus){
    done(exitStatus ? "There are failing unit tests" : undefined);
  });
});

Хитрость здесь в том, что если exitStatus отличается от 0, вы получите formatError в "Есть сбойные модульные тесты", которая завершит работу gulp test с 1 делая Codeship, чтобы остановить и рассматривать сборку как failed,

Сборка на Codeship завершится неудачно, как только выйдет любая команда с кодом выхода, отличным от нуля.

Пожалуйста, убедитесь, что это случай с запуском gulp test,

(Вы также можете обратиться к нам по адресу support@codeship.com, если возникнут другие вопросы!)

Может быть, вы можете попробовать создать цепочку теста и собрать задачи?

gulp test && gulp build
Другие вопросы по тегам