No puede ejecutar ningún comando remoto en su artisan
local . Cualquier cosa que ejecute allí solo funcionará localmente (incluso si configura el ENV
variables).
Configuración del ENV
variable es solo para decirle a la aplicación que se comporte como si estuviera en ese ambiente Pero no le dice a artesano que use el entorno de producción remota.
Si desea ejecutar comandos en su servidor de producción, le sugiero que consulte Envoy . Es un proyecto completamente independiente (y no tiene que usarse solo con proyectos de Laravel) y es específicamente para implementación.
Básicamente es un envoltorio delgado alrededor de SSH en su servidor remoto y luego ejecuta comandos. Un ejemplo Envoy.blade.php
archivo en mis sitios podría verse así:
@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
Este SSH entra, pone la aplicación en modo de mantenimiento, extrae el código nuevo, realiza las diversas configuraciones de 'código nuevo' como la instalación del compositor, la migración, etc. y luego saca la aplicación del modo de mantenimiento.