6

我正在开发一个docker-compose用于本地开发环境的 laravel 项目,并且我们正在尝试缩短用于安装 composer 依赖项和使用 laravel/envoy 的 artisan 的命令。以下是我们迄今为止所做的一个示例:

@task('composer-require')
   docker-compose exec -u 1000 web composer require {{ $package }}
@endtask

并使用如下 envoy run composer-install --package=xxx/yyy

现在我们的Envoy.blade.php文件变得越来越大,因为我们必须将每个用法都作为一项任务,并且我们必须记住所有这些名称。

我想知道是否有可能,我们怎样才能接受这样的命令envoy run composer install xxx/yyy并只定义一个名为的任务composer然后传递该install xxx/yyy部分?

对不起我的英语

4

1 回答 1

7

您可以像这样传递参数您还envoy run deploy --command=require --package=laracasts/flash.可以根据需要设置默认值。在可能的情况下,使用部署“故事”而不是一次运行一项任务。--package--command

@servers(['web' => '127.0.0.1'])

@setup
    $package = isset($package) ? $package : "laravel/envoy";
    $command = isset($command) ? $command : "require";
@endsetup

@story('deploy')
    composer
@endstory

@task('composer')
    echo "Running: composer {{ $command }} {{ $package }}.";
    composer {{ $command }} {{ $package }}
@endtask

@finished
    echo "Envoy deployment complete.\r\n";
@endfinished
于 2018-03-18T01:17:34.017 回答