• Время чтения ~0 мин
  • 17.05.2023

Task Runner for Laravel — это пакет от Паскаля Балджета, который позволяет писать сценарии оболочки, такие как Blade Components, и запускать их локально или на удаленном сервере:Учитывая соглашения в этом пакете, приведенный выше шаблон будет иметь сопутствующий Task класс:

{{-- 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';
    }
}

что databaseConnection() публичный метод доступен в качестве вызываемого в шаблоне. Все открытые методы доступны в шаблонах колонок задач.

Если вы хотите запустить вышеуказанную задачу, вы можете использовать метод пакетаdispatch(), который запустит ее локально. Вы также можете отправлять задачи в фоновом режиме, а также запускать их на удаленном сервере:

$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();

В этом пакете также есть отличные помощники по тестированию, о которых вы можете прочитать в документации. Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297