Task Runner for Laravel to pakiet autorstwa Pascala Baljeta, który pozwala pisać skrypty powłoki, takie jak Blade Components i uruchamiać je lokalnie lub na zdalnym serwerze:Biorąc pod uwagę konwencje w tym pakiecie, powyższy szablon miałby towarzyszącą Task
klasę:
{{-- resources/views/tasks/deploy-app.blade.php --}}
cd /var/www/html
git pull origin {{ $branch }}
php artisan migrate --database={{ $databaseConnection() }}
use ProtoneMedia\LaravelTaskRunner\Task;
class DeployApp extends Task
{
public function __construct(public string $branch) { }
public function databaseConnection()
{
return 'mysql';
}
}
Być może zauważyłeś, że databaseConnection()
metoda publiczna jest dostępna jako wywoływana w szablonie. Wszystkie metody publiczne są dostępne w szablonach bloków zadań.
Jeśli chcesz wyzwolić powyższe zadanie, możesz użyć metody pakietudispatch()
, która uruchomi go lokalnie. Możesz także wysyłać zadania w tle, a także uruchamiać je na zdalnym serwerze:
$output = DeployApp::dispatch();
$output = DeployApp::inBackgronud()
->onConnection('web')
->dispatch();
// API of the task result
$output->getBuffer();
$output->getExitCode();
$output->isSuccessful();
$output->isTimeout();
// returns the buffer as an array
$output->getLines();
Ten pakiet ma również doskonałych pomocników testowania, o których możesz przeczytać w dokumentacji. Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy w witrynie GitHub.You can learn more about this package, get full installation instructions, and view the source code on GitHub.