Как передать аргументы или параметры в задание Laravel Envoy

Я работаю над проектом 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 часть?

Сори о моем английском

1

Решение

Вы можете передать аргументы, как это 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
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]