是否可以在错误时中止或在命令失败时调用另一个任务?
这不起作用:
@task('migrate', ['on' => 'web'])
cd {{ $currentReleaseDir }};
php artisan migrate || exit 1;
@endtask
它失败并显示消息(我知道我可以运行--force
,这只是使命令测试失败的一种方法):
**************************************
* Application In Production! *
**************************************
但随后它会继续运行部署脚本的其余部分。
最佳答案
是的,您可以使用:
@error
echo $task;
exit; /*Or Do any other processing*/
@enderror
这个输出
<?php $__container->error(function($task) {
echo $task;
exit; /*Or Do any other processing*/
}); ?>
这在此处的编译器函数中列出 https://github.com/laravel/envoy/blob/master/src/Compiler.php
关于Laravel 特使 : abort on error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33657987/