php 如何将参数传递给Laravel Envoy任务

bnl4lu3b  于 12个月前  发布在  PHP
关注(0)|答案(1)|浏览(125)

我正在做一个Laravel项目,我们在本地开发环境中使用docker-compose,我们试图缩短我们使用laravel/envoy安装composer依赖项和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部分?
对我的英语感到抱歉

hc2pp10m

hc2pp10m1#

你可以像这样传递参数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

字符串

相关问题