Laravel 特使:错误中止

Laravel Envoy: abort on error

是否可以在错误时中止或在命令失败时调用另一个任务?

这不起作用:

@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