Devops With Laravel By Martin Joo -

# Typical Forge Deploy Script cd $site git pull origin $branch composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev Maintenance mode (for zero-downtime? No. We'll fix this below) php artisan down --retry=60 || true Migrate php artisan migrate --force Clear caches php artisan optimize:clear php artisan config:cache php artisan event:cache php artisan route:cache php artisan view:cache Restart queue workers php artisan queue:restart Bring it back up php artisan up 2. The Enemy of Laravel: "php artisan down" That script above has a problem. php artisan down takes your site offline. In 2024, that is unacceptable.

We need a symlink release strategy. Instead of updating the "current" folder, we deploy to a release folder and then symlink. DevOps with Laravel by Martin Joo

It does this natively. Rolling your own: Use Deployer or a custom script: # Typical Forge Deploy Script cd $site git