当命令失败时,是否可以中止错误或调用其他任务?
这不起作用:
@task('migrate', ['on' => 'web'])
cd {{ $currentReleaseDir }};
php artisan migrate || exit 1;
@endtask
它失败并显示消息(我知道我可以运行--force
,这只是让命令失败以进行测试的方法):
**************************************
* Application In Production! *
**************************************
然后继续运行部署脚本的其余部分。
答案 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
的编译器函数中列出