bra*_*age 8 laravel laravel-envoy laravel-5.1
是否可以在命令失败时中止错误或调用其他任务?
这不起作用:
@task('migrate', ['on' => 'web'])
cd {{ $currentReleaseDir }};
php artisan migrate || exit 1;
@endtask
Run Code Online (Sandbox Code Playgroud)
它失败了消息(我知道我可以运行--force,这只是让命令失败以进行测试的一种方法):
**************************************
* Application In Production! *
**************************************
Run Code Online (Sandbox Code Playgroud)
但随后它继续运行部署脚本的其余部分.
是的,你可以使用:
@error
echo $task;
exit; /*Or Do any other processing*/
@enderror
Run Code Online (Sandbox Code Playgroud)
这个输出
<?php $__container->error(function($task) {
echo $task;
exit; /*Or Do any other processing*/
}); ?>
Run Code Online (Sandbox Code Playgroud)
这在这里的编译器函数中列出https://github.com/laravel/envoy/blob/master/src/Compiler.php