Ho una pipeline di “migrazione continua” per poveri. È un insieme di script di shell per eseguire attività come:
- estrarre il database phpbb, gli allegati, ecc. dal server remoto
- creare/gestire istanze di discourse
- specifiche
site_settings vengono applicate quando un’istanza di discourse viene creata da un’istanza template
- eseguirne il backup/ripristino
- eseguire la migrazione con un set specifico di script di importazione da un repository git
- eseguire attività post-migrazione
Fondamentalmente questo mi permette di lavorare su un’istanza di discourse dctemplate pre-migrazione con cui gioco. Continuo a modificare le impostazioni di discourse a mio piacimento.
Ogni notte, estraggo dal phpbb live esistente ed eseguo una nuova migrazione su una nuova istanza di discourse (dcstaging) appena creata dal template più recente.
Fare ciò richiede ore, ovviamente, quindi ho anche un phpbb locale in esecuzione con un database molto piccolo che uso per fare test e migliorare gli script di migrazione. Posso eseguire migrazioni relativamente veloci per testare su un’altra istanza di discourse (dcdev).
quindi il flusso di lavoro di test diurno è simile a
Ho fatto del lavoro sul template, mi piace dove sono:
./dc_template_create.sh dctemplate
ops, ho fatto un errore sul mio template. ripristinalo allo stato precedente:
./dc_template_restore.sh dctemplate
esegui una migrazione veloce per testare alcune cose
# crea una nuova istanza dcdev da dctemplate (e applica specifiche site_settings a dcdev)
./dc_template_restore.sh dcdev dctemplate
./dc_migrate.sh dcdev # esegue con il repository di script di migrazione specifico per quell'istanza
esegui una lunga migrazione durante la notte dal vero phpbb live:
./dc_template_create.sh dctemplate
./dc_template_restore.sh dcstaging dctemplate
./phpbb_pull.sh
./dc_migrate.sh dcstaging
sleep 300
./dc_rake.sh dcstaging # attività post-migrazione aggiuntive non gestite dall'importer per (creazione moderatori, tagging dettagliato, spostamento di alcuni argomenti, ecc.)
se qualcuno è abbastanza interessato, potrei ripulirlo un po’ e condividerlo.