Il pulsante Aggiorna ora del pannello e cgctl update avviano lo stesso aggiornamento. Installa
solo release firmate con una chiave che il CloudGround installato conosce, prima fa uno snapshot dello
stato del pannello, e rimette da solo la release precedente se la nuova non è in salute entro 60
secondi.
Controlla se c'è una nuova versione
Quando c'è una release più recente, la dashboard mostra È disponibile CloudGround <versione>,
con la versione che stai usando e il link Novità. Il pannello controlla quando lo apri e tiene
la risposta per sei ore.
Per non controllare più, apri Impostazioni, riquadro Aggiornamenti del pannello, spegni Controlla gli aggiornamenti quando apri il pannello e premi Salva. Il controllo non installa mai nulla da solo.
Nello stesso riquadro, Canale degli aggiornamenti sceglie cosa ti viene proposto: Stabile solo le versioni finali, Beta (anche versioni di prova) anche quelle di prova.
Dalla shell, da root sul server:
cgctl update --check
Stampa update available: <installata> -> <release> (signature verified), oppure up to date, e non
cambia nulla.
Aggiorna dal pannello
- Nella dashboard premi Aggiorna ora. In alternativa, in Impostazioni, riquadro Aggiornamenti del pannello, premi Aggiorna ora e conferma.
- Il pannello dice Aggiornamento avviato: il pannello si riavvierà.
Con l'API la richiesta è POST /api/panel/update, con {"version": "<versione>"} o {} per la più
recente.
Aggiorna con cgctl
Sul server, da root:
cgctl update
Installa la release più recente del canale che segue il pannello. Le varianti:
| Comando | Cosa installa |
|---|---|
cgctl update | la release più recente del canale del pannello |
cgctl update --to <vX.Y.Z> | quella release, mai una più vecchia |
cgctl update --channel beta | la release più recente di quel canale (stable o beta), solo questa volta |
cgctl update --timeout <durata> | lo stesso, aspettando il verdetto per quel tempo (predefinito 10m) |
cgctl update aspetta il riavvio e stampa updated: <precedente> -> <release> e lo snapshot che ha
fatto, uscita 0. Se la release è stata annullata stampa rolled back: <precedente> runs again, with its state from <snapshot>, uscita 1.
Cosa fa un aggiornamento
- Controlla la release prima di cambiare qualsiasi cosa: il manifesto firmato si verifica con una chiave compilata nel CloudGround installato, il canale la accetta (una beta mai sul canale stabile), ed è più recente della release in uso e di ogni release mai installata su questo server.
- Scarica ogni file e lo controlla con il manifesto, poi scambia i binari, tenendo quelli vecchi.
- Un processo di guardia, che gira con la release precedente, ferma il pannello, fa uno snapshot dello stato del pannello e dei registri dell'agent, e avvia la nuova release.
- Se agent e pannello rispondono con i nuovi binari entro 60 secondi, l'aggiornamento è fatto. Altrimenti la guardia rimette i binari, le unità e lo snapshot precedenti, e riavvia la release precedente.
Il nuovo pannello migra il suo database in avanti al primo avvio, attraverso ogni passo tra le due release: puoi passare da una release a una qualsiasi più recente con un solo aggiornamento. La migrazione non va mai all'indietro, quindi la strada per tornare è lo snapshot, che un aggiornamento fallito rimette da solo.
Cosa tiene
Un aggiornamento sostituisce i binari e, quando la release le cambia, le unità systemd. Non tocca mai i file dei siti, i loro database, i certificati o i backup. I siti continuano a rispondere per tutto il tempo: nginx e il PHP dei siti non vengono riavviati. Solo il pannello risponde con un errore per i pochi secondi del suo riavvio.
Rifiuta, senza cambiare nulla:
- una release non firmata con una chiave che il CloudGround installato conosce;
- una release che non è più recente di quella in uso o della più recente mai installata qui
(
refusing to downgrade); - un aggiornamento mentre è in corso un backup, un ripristino o un'attività che non può riprendere: aspetta che finisca.
Controlla com'è andata
cat /var/lib/cloudground-agent/update-result.json
journalctl -u cloudground-update-guard
Il file dice a quale versione sei passato, oppure che l'aggiornamento è stato annullato e perché. Il
journal mostra ogni passo della guardia. Gli ultimi tre snapshot restano in
/var/lib/cloudground-agent/update-snapshots/.
Prossimo passo
Per togliere CloudGround da un server, vedi disinstalla CloudGround.