Magento 2, di default, non prevede un sistema di deploy zero downtime. Serve eseguire comandi che mettono il sito in manutenzione, ricompilare, generare gli statici, svuotare cache.
Ma questo non significa che non sia possibile farlo in modo professionale, veloce e senza disservizi.
Io lo faccio ormai su tutti i miei progetti, usando Deployer, uno strumento semplice ma potente per il deployment automatizzato.
Cos’è Deployer
Deployer è un tool PHP che permette di fare deploy automatizzati su server remoti via SSH.
È pensato per gestire:
- release versionate con rollback
- symlink automatici tra release
- gestione file condivisi (env.php, media/, ecc.)
- comandi pre/post deploy (setup:upgrade, cache:flush, ecc.)
Funziona perfettamente con Magento 2.
Come funziona un deploy zero downtime con Deployer su Magento 2
Nel mio flusso:
- Viene eseguito il deploy su una nuova cartella release
- Si eseguono i comandi Magento (compilazione, deploy statici, ecc.)
- Quando tutto è pronto, il symlink viene aggiornato e punta alla nuova release
- Il sito torna subito operativo, senza downtime visibile per l’utente
Vantaggi reali
✅ Nessun utente vede il sito in manutenzione
✅ Se qualcosa va storto, fai rollback in 1 secondo
✅ Tutto è tracciato, versionato, controllato
✅ Lo stesso deploy funziona su staging, produzione, ovunque
Conclusione
Magento 2 non ha un sistema integrato di deploy, ma non è vero che non si possa fare senza downtime.
Basta non lavorare a mano e usare strumenti come Deployer per fare le cose nel modo giusto.
💡 Vuoi impostare un deploy zero downtime anche sul tuo Magento? Scrivimi, ti spiego come farlo passo dopo passo.