Laravel 特使 : abort on error

标签 laravel laravel-5.1 laravel-envoy

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

这不起作用:

@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/

相关文章:

php - Laravel:+100 表......是否使用迁移?

php - json 中缺少字段时无法更新数据库

php - 带有特使错误的 Laravel 5.1 部署

node.js - 使用 NVM( Node 版本管理器)bash : line 5: npm: command not found 安装时,Laravel Envoy 在 Ubuntu 上无法检测 Node/npm

laravel - 如何从 Laravel 5 的 Controller 中将数据放入 app.blade.php

php - 如何显示具有相同ID的多维数组(PHP,Laravel)

php - 使用PHP更新MySQL数据库并返回值

php - 如何在 Laravel 中获取当前的控制台命令

ssl-certificate - getstream.io SSL 证书无法获取本地颁发者证书

bash - Laravel Envoy 和 bash 提示符