Je hebt een Laravel-applicatie gebouwd, getest en klaar voor de wereld. Dan komt de deployment — het moment waarop software van je lokale machine naar de productieserver gaat. Een slordig deploymentproces kost downtime, bugs in productie en stress. Hier zijn de best practices.
Zero-downtime deployment
De grootste fear bij deployment: downtime. Gebruikers die een “503 Service Unavailable” zien terwijl jij deployt. Dat hoeft niet.
Laravel heeft hier standaard een handigheidje voor:
php artisan down --refresh=15 # Maintenance mode
# Deploy...
php artisan up
Maar beter: gebruik een zero-downtime deployment strategie. Elke deployment maakt een nieuwe release-map aan. Op het eind swap je een symlink van de huidige naar de nieuwe versie. Downtime is letterlijk nul.
Laravel Envoyer
Envoyer is Laravel’s officieel aanbevolen deployment tool (€10/maand). Het biedt:
- Zero-downtime deployments via symlink-strategie
- Automatische deployment na een git push
- Deployment hooks (composer install, migraties, cache clear)
- Rollback naar vorige versies met één klik
- Deployment-statistieken en logs
GitHub Actions voor CI/CD
Een gratis alternatief is GitHub Actions. Definieer een workflow die automatisch deployt naar productie na een push naar de main-branch:
- Tests uitvoeren
- Composer dependencies installeren
- Artisan-commando’s uitvoeren
- Bestanden uploaden naar de server via SSH
Pre-deployment checklist
Vóór elke deployment naar productie:
composer install --no-dev --optimize-autoloaderphp artisan config:cachephp artisan route:cachephp artisan view:cache- Database migraties plannen (kunnen ze zonder downtime draaien?)
Environment en .env beheer
Gebruik nooit .env-bestanden via git. Beheer production-secrets via:
- Je deployment tool (Envoyer, Forge)
- Server environment variables
- Een secrets manager (HashiCorp Vault, AWS Secrets Manager)
Rollback strategie
Altijd een rollback-plan hebben. Met Envoyer of een symlink-strategie klik je terug naar de vorige versie in seconden. Documenteer hoe dat werkt in je team.
Monitoring na deployment
Koppel een error monitoring tool (Sentry, Flare) om productiefouten onmiddellijk te detecteren. Stel een health check-endpoint in dat je loadbalancer of uptime-monitor aanroept.
Bij Meesy bouwen we Laravel applicaties met CI/CD als standaard onderdeel van het project. Een goed deploymentproces is net zo belangrijk als goede code. Neem contact op als je hulp nodig hebt bij het opzetten van een professioneel deploymenttraject.
Conclusie
Een professioneel Laravel deployment-proces bespaart stress en downtime. Investeer in de setup van CI/CD, zero-downtime deployment en monitoring — het betaalt zich terug bij elke release.