如果gulp任务失败,如何向Appveyor发送失败信号?

如果gulp任务失败,如何向Appveyor发送失败信号?,gulp,appveyor,Gulp,Appveyor,我已经为一个web应用的前端创建了一个非常复杂的构建过程,该过程正在Appveyor上进行测试。如果应用程序的某些部分没有使用gulp正确生成,如果某些gulp任务失败,我如何向Appveyor发出生成完全失败的信号?为了解决此问题,我使用了来自的说明。我需要将构建过程分为两个相似的部分:一个用于开发环境,另一个用于生产环境。主要区别在于,若在某些任务中发现错误,生产环境应该总是中断。Feodor Fitsner建议进程应该以非零错误代码退出 结合这两种解决方案,我创建了这个小JS模块,它应该用

我已经为一个web应用的前端创建了一个非常复杂的构建过程,该过程正在Appveyor上进行测试。如果应用程序的某些部分没有使用gulp正确生成,如果某些gulp任务失败,我如何向Appveyor发出生成完全失败的信号?

为了解决此问题,我使用了来自的说明。我需要将构建过程分为两个相似的部分:一个用于开发环境,另一个用于生产环境。主要区别在于,若在某些任务中发现错误,生产环境应该总是中断。Feodor Fitsner建议进程应该以非零错误代码退出

结合这两种解决方案,我创建了这个小JS模块,它应该用作gulp任务的包装器:

const msg=require('bit-message-box'))
常量粉笔=需要(“粉笔”)
module.exports=(taskFn,production=false)=>函数(完成){
让onSuccess=()=>{
完成()
}
让onError=(err)=>{
if(生产){
//若构建过程是在生产环境中启动的,那个么它应该总是中断
//退出代码大于零的错误。这一点尤其重要
//适用于测量师CI
msg.error(`error!生成过程已中止!`)
控制台。错误(粉笔。红色。白色(错误))
进程。退出(1)
}
else{done()}
}
let outStream=taskFn(onSuccess,onError);
if(扩展流&&typeof-outStream.on==='function'){
在('end',onSuccess)时扩流;
}

}
您只需在构建批处理或PowerShell脚本中调用
退出