Sie können keine Remote-Befehle auf Ihrem lokalen artisan
ausführen . Alles, was Sie dort ausführen, funktioniert nur lokal (selbst wenn Sie die ENV
Variable).
Einstellen des ENV
-Variable soll der Anwendung nur sagen, dass sie sich so verhalten soll, als ob sie in wäre diese Umgebung. Aber weist den Handwerker nicht an, die Remote-Produktionsumgebung zu verwenden.
Wenn Sie Befehle auf Ihrem Produktionsserver ausführen möchten, schlage ich vor, dass Sie sich Envoy ansehen . Es ist ein vollständig eigenständiges Projekt (und muss nicht nur mit Laravel-Projekten verwendet werden) und ist speziell für die Bereitstellung vorgesehen.
Es ist im Grunde ein dünner Wrapper, der SSH in Ihren Remote-Server umgibt und dann Befehle ausführt. Ein Beispiel Envoy.blade.php
Datei auf meinen Seiten könnte so aussehen:
@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
Diese SSH-Verbindung, versetzt die Anwendung in den Wartungsmodus, zieht den neuen Code, führt die verschiedenen „neuen Code“-Setups wie Composer-Installation, Migration usw. durch und zieht dann die Anwendung aus dem Wartungsmodus.