È ampiamente riconosciuto che gli sviluppatori dovrebbero testare gli aggiornamenti attraverso un sito di staging prima di rilasciarli sul server live, tuttavia una volta che gli aggiornamenti di sviluppo richiedono modifiche in Wordpress DB, le cose si complicano, poiché anche gli utenti del sito live aggiorneranno il DB.
L'unico flusso (confuso) che posso immaginare è il seguente:
- Test su un server locale (WAMP, XAMP, ecc.)
- Una volta pronto per la distribuzione, mettere il sito live in modalità manutenzione
- Sito live di backup (duplicatore, sqldump, ecc.)
- Creare un clone del sito live bloccato sul sito di staging
- Carica le modifiche dall'ambiente locale sul sito di gestione temporanea
- Testare il sito di gestione temporanea
- Spingere il sito di gestione temporanea per vivere.
- Rimuovere la modalità di manutenzione
Svantaggi del flusso sopra:
- i tempi di inattività possono essere più lunghi del previsto per gli utenti mentre lo sviluppatore sta testando attentamente gli aggiornamenti nel sito di gestione temporanea;
- può richiedere la gestione manuale delle modifiche: ad esempio, i layout di pagebuilder siteorigin sono memorizzati nel db, quindi una volta modificato un layout, deve essere importato manualmente nel sito di staging; in questo caso potrebbe essere sufficiente rilasciare e importare semplicemente le pagine nel sito di staging e, se funziona, importarle nel sito live
Mi chiedo se esiste un modo migliore e più automatizzato per raggiungere questo obiettivo.
Cosa ne pensi?
EDIT, come richiesto, alcune soluzioni sono state proposte in passato ma nessuna offre una soluzione definitiva:
- 9/2010 - Sincronizzazione del database tra sviluppo / gestione temporanea e produzione
- 12/2011 - Distribuzione di plugin aggiornati o nuovi che modificano la tabella wp_options
- 9/2014 - Come caricare le modifiche locali su un server live senza sovrascrivere nuovi post / pagine?
- 1/2015 - Come mantenere i blog dei siti wordpress nella produzione e messa in scena?