我正在做一个laravel项目,在这个项目中,我们使用docker-compose
作为本地开发环境,并且我们正在尝试缩短我们用来安装composer依赖项和artisan与laravel/envoy的命令。下面是我们到目前为止所做的一个例子:
@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
部分?
关于我的英语
发布于 2018-03-18 09:17:34
你可以像这样传递参数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
https://stackoverflow.com/questions/49137848
复制相似问题