Ho avuto un problema di lunga data con un’installazione di Discourse bloccata alla versione v2.9.0.beta1: a causa di sfide personali, non sono riuscito a risolverlo per anni. All’epoca, sembrava impossibile passare alla v2.9.0.beta2. Recentemente, durante la risoluzione di un problema di ricostruzione, ho commentato alcuni hook nel mio file app.yml (in particolare, quelli che forzavano il checkout di un tag) in questo modo:
Dopo la ricostruzione, la mia istanza si è aggiornata inaspettatamente alla versione 3.4.0.beta4-dev. Sebbene sia felice di aver superato quel problema, ora voglio che il sistema continui a seguire lo stream beta 3.4.0 fino a quando non sarà disponibile una versione stabile 3.4.x e, una volta disponibile, bloccare quella versione stabile in modo che non si aggiorni automaticamente a versioni beta o di sviluppo future.
Qual è il metodo corretto per “fissare” o bloccare il rilascio a una versione stabile una volta disponibile, senza dover annullare o eseguire interventi manuali su ogni ricostruzione?
Qualsiasi guida o best practice sarebbe molto apprezzata!
Sembra che tu abbia cambiato la versione in stabile dopo la ricompilazione. Ora sei oltre lo stabile, quindi dovrai cambiarla in beta o tests-passed fino al prossimo rilascio stabile (e dato che ce n’è stato uno la scorsa settimana, passerà parecchio tempo (tipicamente 8-10 mesi)
No, sfortunatamente non l’ho fatto… Sono sicuro al 100% di questo, era su 3.4.0.beta4-dev e poi ho cambiato app.yml e poi ho fatto il rebuild. Poi è apparso 3.5.0.beta1-dev. Questo è il percorso seguito al 100%… Non ho ZERO dubbi, solo per essere chiaro. Ho letteralmente verificato le cose prima delle azioni che ho notato.
Grazie ancora per il tuo aiuto @pfaffman. Per riassumere la mia attuale comprensione:
La nostra istanza stava eseguendo 3.4.0.beta4-dev, che non è considerata una release stabile.
Quando ho aggiornato la mia configurazione per utilizzare version: stable (con l’impostazione predefinita commentata), mi aspettavo che le future ricompilazioni bloccassero l’istanza al ramo stabile. Tuttavia, poiché eravamo già su una versione beta, l’aggiornamento è proseguito, risultando in 3.5.0.beta1-dev.
Sembra che il passaggio a version: stable dopo essere avanzati oltre il tag stabile non attivi un rollback; significa solo che se fossimo stati al livello stabile o al di sotto, ci avrebbe bloccato allo stabile invece di seguire le versioni beta.
È corretto?
Inoltre, potresti chiarire qual è il processo consigliato per garantire che non seguiamo accidentalmente il canale beta in futuro? Nello specifico:
Lasciare version: stable come configurazione attiva è sufficiente per garantire che, quando una release stabile sarà disponibile, le nostre ricompilazioni si bloccheranno su di essa, a condizione che non l’abbiamo già superata quando arriva la versione stabile?
Ci sono passaggi aggiuntivi o attività di pulizia (come la rimozione o la modifica di altri elementi di configurazione) che dovremmo eseguire per evitare di aggiornare inavvertitamente a versioni beta/di sviluppo?
Desidero molto bloccarmi su una release stabile il prima possibile, ma non voglio che salti di nuovo questo passaggio…
Accidenti! Forse ho guardato troppo velocemente sul mio telefono. Non ho spiegazioni su come me lo sia perso né su come il sito ora stia eseguendo la versione 3.5.0.beta1-dev.
Dopo aver subito il contraccolpo dell’aggiornamento 3.4.0.beta4-dev legato al passaggio da postgres 13 a 15, sono riuscito a recuperare una versione funzionante 3.5.0.beta1-dev!