I noticed that every now and then my Discourse site send me an email telling that a new version is available to install, but every time the version is “x.y.z.beta something”, so I’d like to know: is Discourse always some “beta” version? Is it good to install in a production environment (i.e. to serve hundreds, maybe thowsands people)? Or does this concerns only free and not “cloud” versions?
There’s a good explanation of the branches we use here:
So Discourse is in a perpetual beta state, meaning that we’re always working on new features and refinement. In our case beta does not mean unstable; we host sites with millions of monthly pageviews on our tests-passed and beta versions.
To add to what @awesomerobot posted:
Our nomenclature is a bit different than other software companies, but what it means when we release a beta is we’re releasing a new incremental version. We’ve said, “That’s enough changes for now. Let’s notify sites about new updates.”
So for us, a beta is a minor version bump, and a version is a major version bump. They’re checkpoints we give ourselves to celebrate the work we’ve done. We tend to release two major versions a year, but it all depends on feature development and the like. We’re not really into fake deadlines.
Regarding the branches
Stable/beta are not necessarily any more “stable” than tests-passed. It’s more the idea that the bugs are known. With tests-passed there may be new bugs introduced then fixed a few commits later.
Tests-passed is not much different than most other software releases out there, which usually release small changes every two weeks. We commit new changes almost daily instead, and they’re available via tests-passed.
Sono su questo thread per lo stesso motivo.
Perché le istruzioni di installazione non ci dicono di installare il branch stabile?
Come posso passare al branch stabile o è troppo tardi dato che sono su una “versione superiore”?
Le istruzioni possono essere aggiornate?
Se è troppo tardi, come rimango sul branch stabile una volta aggiornato?
Devo continuare ad aggiornare incrementalmente finché non ci arrivo?
Non puoi passare a stable finché non raggiunge il livello attuale. Discourse non supporta i downgrade.
Una domanda migliore è: perché vorresti farlo?
Stable non è così ampiamente utilizzato, il focus dello sviluppo è sui test superati.
Supponendo che tu non stia aggiornando ciecamente un sito di produzione e che tu stia testando ogni aggiornamento prima della distribuzione, la versione più ricca di funzionalità e meglio supportata sarà quella predefinita.
Mi dispiace, deve essere un problema di barriera linguistica, ma il focus significa
- lo sviluppo di Discourse stesso e come vengono create le branch
- tutti gli altri stanno facendo principalmente lo sviluppo di Discourse
Il primo significa che i siti di produzione che si concentrano sul forum funzionale e stabile dovrebbero usare test-passed.
Il secondo significa che un sito di produzione, che produce forum, non codice, dovrebbe usare stable.
Sì. Ho disperatamente bisogno di lezioni di inglese perché queste sfumature non mi sono del tutto chiare.
Ma se la prima ipotesi è corretta, perché esiste la branch stable se non è destinata all’uso?
Eseguiamo tests-passed in produzione sul nostro hosting. È pensato al 100% per siti di produzione.
Stable significa che tutti i bug del software sono noti. Non otterrai nulla di nuovo (inclusi nuovi bug, ma anche correzioni di bug) fino al rilascio della prossima versione stabile. È semplicemente una preferenza del sito: vuoi le funzionalità man mano che arrivano? Usa tests-passed. Vuoi una build assolutamente stabile che non cambierà tranne negli aggiornamenti di versione principali? Usa stable.
Aggiungerei: “vuoi aspettare 6-8 mesi affinché venga corretto un bug che non è considerato un rischio per la sicurezza?” Usa stable.
Non è del tutto vero. Ci sono molte correzioni di bug ripristinate nelle versioni stabili.
Beh, è piuttosto vero, ne sono sicuro.
Ma l’iperbole è la cosa migliore in assoluto!
Vero, quelle che bloccano lo show. I bug minori no.
Sarebbe bello se ci fosse una scelta nelle istruzioni generali, un po’ come le scelte di download di LibreOffice o Debian.
Sto ospitando il sito su DO ma il mio co-proprietario proveniva originariamente da discoursehosting.net come sottodominio, e vede tutta questa manutenzione e dice “Perché non usiamo semplicemente discourse hosting?”
Gli ho detto che abbiamo il nostro nome, server, plugin di livello superiore (come mi piace emoji e accesso con Google) e altre cose. Gli ho detto che probabilmente stava usando una versione precedente di Discourse e non l’aveva mai aggiornata.
Anch’io preferirei semplicemente usare la versione stabile e dimenticarmene per sei mesi. Sono un utente quotidiano di Ubuntu, ma mi innervosisco un po’ a digitare quei pochi comandi di build. Inoltre, il server va giù per 5 minuti quando ricostruisco.
D’altra parte, richiederò l’integrazione di una funzione di backup e mi unirei alla beta per essa ![]()
Solo per evitare qualsiasi tipo di speculazione: presso Communiteq (precedentemente discoursehosting.net) ottieni il tuo hostname, plugin a tua scelta nel piano Professional e superiori, e noi effettuiamo backup e aggiornamenti del tuo forum per te. Quindi sì, la maggior parte dei tuoi problemi sarà effettivamente risolta utilizzando l’hosting gestito.
Il problema originale era richiedere di fornire un’opzione di build stabile nelle istruzioni di installazione di GitHub. Vedo che fornite rilasci stabili per i vostri clienti. Forse potete spiegare gentilmente come clonare e installare un rilascio stabile? Quella era anche la mia domanda originale.
Come gruppo piccolo e semi-privato, non c’è giustificazione per nulla di meno del server DO da $5. Tuttavia, offrite un ottimo servizio a $40 al mese per il piano professionale o il piano base. Vi auguro buona fortuna. È un buon affare rispetto ai piani ufficiali di Discourse. Tutte le opzioni sono ottime per chi può permetterselo. Questa è la grande parte di FOSS.
Ritengo che la decisione di installare per impostazione predefinita su test-passed sia del tutto intenzionale.
È molto più facile supportare nuove installazioni a un singolo livello software. Poiché il supporto fornito qui è basato sulla community e per la maggior parte gratuito al 100%, non c’è alcun buon motivo per complicarlo.
Le istruzioni di installazione standard sono semplificate per un motivo.
Eseguire stable è considerato un setup avanzato, quindi è necessario modificare app.yml manualmente. Puoi cercare “version” e vedere lì documentato cosa fare.
Modificare discourse-setup per includere questa opzione sarebbe confusionario per la maggior parte delle persone, quindi non credo che verrà aggiunta lì.
Forse una metafora utile è che il branch "stable" è come Microsoft Office basato su disco, mentre il branch "tests-passed" è come Office 365 basato su cloud. Entrambe sono opzioni valide e entrambe ricevono aggiornamenti alla fine, ma per un prodotto che è fondamentalmente già online e che ha un piccolo team di supporto, è più produttivo poter istruire le persone ad aggiornare le loro installazioni al codice corrente, in modo che i bug possano essere testati e corretti tempestivamente. Come amministratore del forum, è fantastico poter segnalare un bug e aggiornare a una versione che lo corregge entro pochi giorni, a volte anche il giorno successivo. Non ho utilizzato altre web app che siano reattive come questa. (Non che ogni bug venga corretto istantaneamente, ma molti lo sono.)
@pfaffman, ho seguito il link e quello a cui portava, ma non ho visto nulla riguardo all’impostazione della configurazione su stable. Cosa mi sfugge? Intendi “cercare nel file app.yml la parola "version"”?
ma non credo che tu possa passare da test-passed a stable (poiché torneresti indietro nel commit e probabilmente dovresti annullare alcune migrazioni nel database, a meno che la tua versione test-passed non sia abbastanza vecchia da essere superata dalla versione stabile più recente, suppongo
)
Grazie per la rapida risposta!
Mi aspettavo che l’aggiornamento si sospendesse semplicemente fino al prossimo ciclo di rilascio stable.
Qualche chiarimento in merito? Perché qualcosa dovrebbe cambiare immediatamente dal semplice cambio dell’interruttore #version?