Na místním artisan
nemůžete spouštět žádné vzdálené příkazy . Vše, co tam spustíte, bude fungovat pouze lokálně (i když nastavíte ENV
proměnná).
Nastavení ENV
proměnná pouze sděluje aplikaci, aby se chovala, jako by byla in to prostředí. Ale neříká to řemeslníkovi, aby používal vzdálené produkční prostředí.
Pokud chcete spouštět příkazy na svém produkčním serveru, doporučuji vám podívat se na Envoy . Je to zcela samostatný projekt (a nemusí být používán pouze s projekty Laravel) a je určen speciálně pro nasazení.
Je to v podstatě tenký obal kolem SSHing na váš vzdálený server a následné spouštění příkazů. Příklad Envoy.blade.php
soubor na mých stránkách může vypadat takto:
@servers(['web' => '[email protected]'])
@task('deploy')
cd ~/src
php artisan down
git pull origin master
composer install --no-dev --no-progress --prefer-dist
php artisan migrate --force --no-interaction
php artisan optimize
php artisan up
@endtask
Toto SSH se spustí, uvede aplikaci do režimu údržby, stáhne nový kód, provede různá nastavení „nového kódu“, jako je instalace skladatele, migrace atd., a poté aplikaci vytáhne z režimu údržby.