stiamo attualmente eseguendo la versione 2.6.0.beta1 e ora vogliamo eseguire l’aggiornamento all’ultima versione, ma una stabile. Poiché la 2.6.0 è una versione vecchia, c’è qualcosa di cui dobbiamo preoccuparci? Ovviamente faremo prima un backup, ma forse ci sono alcuni suggerimenti
È improbabile che il sistema operativo della tua VM sia supportato. Ti consiglio di Spostare un sito Discourse su un altro VPS con rsync, saltando i file del database, creare il nuovo container e quindi ripristinare un backup dal sito esistente.
In realtà, probabilmente ti consiglierei di eseguire una nuova installazione di discourse-setup piuttosto che usare il tuo app.yml esistente e copiare le impostazioni SMTP e simili. Ci sono state anche alcune modifiche lì.
Fingendo per un minuto che tu esegua aggiornamenti del sistema operativo sulla VM per aggiornarla, ci sono stati anche almeno due aggiornamenti di postgres da allora. Tentare un aggiornamento sul posto non andrà bene. Se ci provi e fallisce, non dirò “Te l’avevo detto”, ma non dirò nemmeno altro.
Molte grazie per la tua risposta. Dato che dobbiamo anche spostarci su un nuovo server, il piano originale era di migrare il vecchio discourse prima sul nuovo server e poi fare l’aggiornamento.
Consiglieresti comunque di installare un nuovo discourse?
Trasferirsi sul nuovo server è molto più sicuro poiché non è necessario modificare il vecchio server finché il nuovo non funziona!
Quello che farei è seguire la guida rsync, escludendo postgres_*. Poi rinominerei app.yml ed eseguirei ./discourse-setup --skip-connection-test (perché il DNS non punterà ancora al nuovo server). Quindi ripristinerei il backup. Puoi (di solito) testare che il nuovo server funzioni modificando il tuo DNS locale per puntarlo, ma nel peggiore dei casi, cambi semplicemente il DNS e se è un disastro cambi di nuovo il DNS. (Se si tratta di Digital Ocean o qualcos’altro con un IP fluttuante che può puntare a più VM, puoi semplicemente ri-puntarlo e non preoccuparti del DNS).
L’ho fatto circa 10 volte negli ultimi due mesi. Se preferisci non farlo da solo, sono disponibile.
OK, questo è qualcosa che mi sono sempre chiesto. Non c’è bisogno di un dominio di staging? Nulla viene riscritto (due volte) perché il dominio cambia (due volte)?
Se copi le directory ssl e let’s encrypt, hai i certificati per il nome host esistente. Il server è pronto a servire quel dominio, ma il DNS non punta lì, quindi non può.
Di solito copio i file yml esistenti, ma per questo sito molto vecchio, ottenerne uno nuovo non è una cattiva idea, e in questo caso, penso di aver imparato che c’erano alcune modifiche strane che penso sia bene lasciare indietro).
MA, se sei furbo puoi ingannare il tuo browser per fargli andare lì e vedere che le cose vanno bene, e poi puoi cambiare il DNS in modo che tutti gli altri lo vedano. (e sperare di ricordarti di “dis-ingannare” il tuo browser in modo da non essere molto confuso in futuro.)