Laravel Envoy:错误中止

时间:2015-11-11 19:06:09

标签: laravel laravel-5.1 laravel-envoy

当命令失败时,是否可以中止错误或调用其他任务?

这不起作用:

@task('migrate', ['on' => 'web'])
    cd {{ $currentReleaseDir }};
    php artisan migrate || exit 1;
@endtask

它失败并显示消息(我知道我可以运行--force,这只是让命令失败以进行测试的方法):

**************************************
*     Application In Production!     *
**************************************

然后继续运行部署脚本的其余部分。

1 个答案:

答案 0 :(得分:6)

是的,您可以使用:

@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

的编译器函数中列出