Passare da un canale/versione all'altro di Discourse

:bookmark: Questa guida spiega come configurare il canale di rilascio della tua istanza Discourse.

:person_raising_hand: Livello utente richiesto: Amministratore di sistema

:warning: È necessario l’accesso alla console.

La gestione del canale della tua istanza Discourse determina la frequenza e il tipo di aggiornamenti che riceverai. Questa guida spiega i canali disponibili e fornisce un approccio passo dopo passo per cambiare il branch nella tua configurazione.

Sommario

Discourse offre diversi canali per il monitoraggio degli aggiornamenti del software: latest, release e esr. Questa documentazione spiega lo scopo di ciascuno, le loro caratteristiche principali e come configurarli nella tua istanza Discourse. Per un’illustrazione dei canali, vedi releases.discourse.org.

Canali supportati

latest

:information_source: Predefinito consigliato
Questo canale fornisce gli ultimi aggiornamenti di correzione di bug e di compatibilità per i plugin. Ogni commit proveniente dal branch main viene testato dal server di compilazione e aggiunto al branch latest dopo una verifica riuscita.

  • Adatto per i siti che vogliono rimanere aggiornati.
  • I siti possono eseguire l’aggiornamento manualmente in qualsiasi momento.

release

:information_source: Per i siti che preferiscono rilasci mensili

Il canale release monitora l’ultimo rilascio mensile di Discourse. Ogni mese, un branch di rilascio (ad esempio release/2026.2) viene creato da latest, fornendo uno snapshot stabile.

  • Rilasciato approssimativamente una volta al mese.
  • Ogni rilascio riceve correzioni critiche per due cicli di rilascio completi.

esr

:information_source: Rilascio con supporto esteso

Il tag esr monitora l’ultimo Rilascio con Supporto Esteso, destinato ai siti che danno priorità alla stabilità e alla sicurezza a lungo termine rispetto agli aggiornamenti frequenti.

  • Dichiarato approssimativamente ogni 6 mesi dai rilasci mensili.
  • Riceve correzioni di sicurezza e backport critici per un periodo esteso.
  • Potrebbe avere compatibilità limitata con plugin della comunità e componenti dei temi.

:warning: Nota: Non ricevere aggiornamenti di manutenzione regolari può lasciare alcune funzionalità obsolete o visivamente incoerenti.

Alias deprecati

Per la compatibilità con le versioni precedenti, i seguenti vecchi nomi di branch/tag funzionano ancora ma sono considerati deprecati:

  • tests-passedlatest
  • betarelease
  • stableesr

Altri branch o riferimenti

:warning: Il monitoraggio di altri branch (ad esempio, branch specifici release/AAAA.M o SHA di commit) è possibile ma richiede competenze specifiche. Questi branch ricevono correzioni critiche solo per un periodo limitato.

Istruzioni per configurare il tuo canale

Segui questi passaggi per configurare il branch desiderato nella tua istanza Discourse:

  1. Accedi al file di configurazione
    Apri il file di configurazione app.yml eseguendo i seguenti comandi nella tua console:
cd /var/discourse
nano containers/app.yml

L’editor nano aprirà il file di configurazione.
2. Modifica il branch di monitoraggio
Cerca il parametro della versione cercando la parola “version” nel file:

params:  
## Quale revisione Git dovrebbe utilizzare questo container? (predefinito: latest)  
#version: latest
  • Decommenta la riga della versione.
  • Sostituisci latest con il nome del branch o del tag desiderato (ad esempio, esr). Esempio:
params:  
## Quale revisione Git dovrebbe utilizzare questo container? (predefinito: latest)  
version: esr  
  1. Salva ed esci
  • Premi Ctrl+O per salvare le modifiche.
  • Premi Invio per confermare.
  • Usa Ctrl+X per uscire dall’editor.
  1. Ricostruisci il container
    Una volta apportate e salvate le modifiche, ricostruisci il container per applicare la nuova configurazione:
./launcher rebuild app

:warning: La ricostruzione causerà un’interruzione temporanea del servizio

27 Mi Piace
Is it possible to upgrade Discourse up to a number of commits in the version?
How to avoid Discourse BETA version and keep only stable?
Upgrade Button - Possible Window to Exploits
Need a better way to explain what branch to be on, why, and what happens
Restoring Discourse 1.9 backup onto v2.3.0.beta9 +184
Cannot reorder categories
Download My Posts failed
Quote-feature occasionally missing on Android
What’s the best/safest branch not break production site?
How to change the target channel from DEV to BETA?
I need help to edit the sidebar
Help us test the rewritten Composer
Upcoming changes to the beta branch of Discourse
502 Bad Gateway after trying to rebuild test-passed branch
Stuck at v2.9.0.beta1 – Now Running 3.4.0.beta4-dev after Disabling Hooks: How Can I Lock to Stable Releases?
Have I Installed the wrong version? - 3.5.0.beta2-dev
Need a better way to explain what branch to be on, why, and what happens
Error 500 after Update
Landing Pages Plugin :small_airplane:
Self-hosted discourse instance appending "7d" to the FQDN
Update “3.4.0.beta4” failed
Issues with Discourse 3.5.0.beta2-dev - SMTP and Background Jobs
Install production ready stable on vps
Help deploying older versions of Discourse
[solved] How to avoid getting -dev versions when updating?
Production upgrades - correct procedure to follow
Production upgrades - correct procedure to follow
Problem with Upgrade [error 137]
ESR Usage Help
Is it possible to disable Discourse updates?
Is it possible to disable Discourse updates?

4 post sono stati uniti in un argomento esistente: Aiuto per il deployment di versioni più vecchie di Discourse

È git pull un passaggio necessario, o è ridondante e rimane dalla documentazione legacy, simile al caso dell’aggiornamento di Discourse (Aggiorna manualmente Discourse e l’immagine Docker all’ultima versione)?

Per la mia esperienza, git pull è _occasionale_mente utile: ad esempio, è stato indispensabile quando siamo passati da yarn a pnpm…

Normalmente non c’è bisogno di preoccuparsi per una rebuild regolare.

2 Mi Piace

Bene sapere! Grazie per le informazioni.

Quello che faccio di solito :sweat_smile: è provare a ricostruire; se fallisce per qualche motivo non del tutto ovvio, provo prima a fare un git pull — ci vuole un attimo.

In teoria non dovrebbe mai essere necessario. Il launcher rileverà automaticamente una copia obsoleta ed eseguirà il git pull da solo:

1 Mi Piace

Grazie per i dettagli. In effetti, ha senso. Ci proverò senza git pul e ti farò sapere come andrà a finire.

1 Mi Piace

È strano. Il codice in questione risale al 2015, il mio forum al 2018, eppure sono abbastanza sicuro che qui siano stati discussi diversi casi in cui era necessario eseguire git pull.

Per quanto mi riguarda, eseguirò sempre git pull, se me ne ricordo — non mi costa nulla.

Se ne parla spesso, penso a causa di questi documenti molto storici. Non credo di aver mai visto prove che sia stato effettivamente utile.

Ma sì, non c’è alcun danno a eseguirlo anche manualmente :person_shrugging:

1 Mi Piace

Poiché il file yml utilizza version e non supported tracking branch, sarebbe opportuno aggiungere (version) al titolo dell’argomento?

Anche io sono rimasto un po’ sorpreso dalla data, all’inizio. Ma controllando la cronologia delle versioni, l’ultimo aggiornamento è del 18 maggio.

Ho cercato di aggiornare il primo post per utilizzare la nostra moderna terminologia “canale” e rimuovere alcuni riferimenti non necessari a git pull.

1 Mi Piace

Deve esserci almeno un caso limite, perché sicuramente “mi ha aiutato a superare l’ostacolo” in circostanze molto rare.

Potrebbe essere quando lo script principale cambia in circostanze limitate?

1 Mi Piace