2

我的持续集成使用 Codeship 工作得非常好,除了一件事:停止部署并在单元测试失败时提醒我们

这是我们当前的命令:

  1. npm 安装
  2. npm 安装凉亭
  3. 凉亭安装
  4. 吞咽测试
  5. 吞咽构建

问题在于构建是否gulp test以成功或失败告终。gulp build

我成功了console.log()退出gulp test状态,但我不知道如何让 Codeship 监听这个退出状态。

4

3 回答 3

2

只要任何命令以非零的退出代码退出,Codeship 上的构建就会失败。

请确保这是 running 的情况gulp test

(如果有任何其他问题,您也可以通过 support@codeship.com 与我们联系!)

于 2015-06-16T07:03:18.703 回答
1

使用@mlocker 答案和Github 上的讨论,我找到了一个对我来说很好的解决方法:

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

这里的技巧是,如果 exitStatus 不为 0,您将在“有失败的单元测试”上得到一个 formatError,它将退出gulp test1让 Codeship 停止并将构建视为failed.

于 2015-06-17T09:05:42.097 回答
0

也许您可以尝试链接测试和构建任务?

gulp test && gulp build
于 2016-01-25T14:31:22.790 回答