Bloccato a v2.9.0.beta1 – Ora in esecuzione su 3.4.0.beta4-dev dopo aver disattivato Hooks: come posso bloccare alle versioni stabili?

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:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
    - exec:
        cd: $home
        cmd:
          # - git fetch --depth=1 origin tag v2.9.0.beta2 --no-tags
          # - git checkout v2.9.0.beta2
          - echo "Skipping version upgrade hook"

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!

Puoi dare un’occhiata a questa guida:

Cambia tests-passed in stable nel tuo app.yml. Se non lo hai nel tuo file yml, puoi dare un’occhiata alla directory dei campioni.

1 Mi Piace

Grazie, quindi avevo:

  ## Quale revisione Git dovrebbe usare questo container? (predefinito: tests-passed)
  #version: tests-passed

L’ho aggiornato a:

  ## Quale revisione Git dovrebbe usare questo container? (predefinito: tests-passed)
  version: stable

Dopo la ricompilazione, il sistema è ora su: 3.5.0.beta1-dev

Il che sembra ancora più strano/particolare. :thinking:

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)

1 Mi Piace

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.

La riga con tests-passed inizia con un #?

Screenshot dell’editor:

È commentato, quindi ciò che metti lì non ha importanza e l’impostazione predefinita è test superati.

Quando hai ricostruito per ricostruire con gli ultimi test superati

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:

  1. 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?
  2. 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…

Hmm. Non mi sembra:

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.

2 Mi Piace

Ciao,

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!

Ora, nella dashboard, c’è una nuova versione:

Installed             Latest
3.5.0.beta1-dev       3.5.0.beta1
(b37b51d15f)

Ma nella pagina Aggiornamenti, vediamo:

Name                   Commit Hash          Last Updated  Latest Version    Status
New version available! v3.4.0.beta4 +182    43 mins ago   v3.5.0.beta1 +8   Update

È sicuro aggiornare?

Grazie in anticipo

1 Mi Piace