Непрерывная интеграция: Codeship + Gulp (Жасмин)
Моя непрерывная интеграция прекрасно работает с использованием Codeship, за исключением одного: прекратите развертывание и предупредите нас, если модульные тесты не пройдены.
Вот наши текущие команды:
- установка npm
- нпм установить беседку
- установка беседки
- глоток
- глоток
Проблема в том, 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