Я работаю над проектом 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
часть?
Сори о моем английском
Вы можете передать аргументы, как это 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
Других решений пока нет …