Launcher ricostruisce l'app e scarica l'ultima versione di discourse da GitHub

Ciao,

Ho già Discourse installato e funzionante. Ogni volta che ricostruisco l’app, estrae il repository del launcher, l’immagine Docker discourse/base e il repository Discourse.

Voglio limitare questo comportamento in modo che la ricostruzione non verifichi gli aggiornamenti e li scarichi automaticamente a meno che non venga passato un parametro specifico.

Qualcuno ha fatto qualcosa di simile?

sei preoccupato per la stabilità della versione?

perché non passi semplicemente al ramo stabile?

Sto usando la versione stabile, 3.2.0.

L’intenzione è di eseguire il pull dal repository GitHub o Docker Hub solo quando lo desideriamo, non ogni volta che ricostruiamo il container.

Stai usando un’installazione standard?

Se sì, perché non eseguire il comando di ricostruzione?

A titolo informativo, gli aggiornamenti alla versione stabile possono essere importanti: di solito contengono correzioni di vulnerabilità o bug significativi.

Sì, sto usando l’approccio standalone standard. Capisco la necessità di mantenere l’app aggiornata. La mia idea è di aggiungere un flag al launcher quando voglio aggiornare il repository.

Se vuoi riavviare il container senza ricostruirlo, esegui semplicemente:

./launcher restart app

perché hai bisogno di ricostruire senza aggiornare - qual è il tuo obiettivo?

Gli aggiornamenti stabili difficilmente introdurranno modifiche incompatibili.

1 Mi Piace

Il punto di stable è la mancanza di cambiamenti. Perché stai ricostruendo del tutto?

Il motivo per cui estrae il container è per mantenerlo in parità con i requisiti del codice discourse.

Se vuoi fare qualcosa come entrare nel container senza fare un pull, puoi

 docker exec -it app bash

E se volessi aggiungere un plugin senza ricostruire, potresti entrare nella directory del plugin e clonarlo e poi migrare il database, ma devi comunque assicurarti di ottenere il commit giusto del plugin per strangle) stable.

2 Mi Piace

Nel caso in cui si aggiunga o si rimuova un plugin, ./launcher restart app non aggiornerà l’istanza.

1 Mi Piace

Dato che le release stabili sono relativamente rare, non presentano modifiche incompatibili molto spesso e di solito includono importanti aggiornamenti di sicurezza quando ci sono, non capisco la tua richiesta.

Secondo me, aggiungere un plugin è una buona scusa per aggiornare e assicurarsi di aver scaricato tutti gli aggiornamenti disponibili.

Non aggiornare su una release stabile, IMHO, è una cattiva pratica in quanto potrebbe esporti a vulnerabilità note per più tempo.

1 Mi Piace

Ho apportato le seguenti modifiche al launcher

echo "    --pull-git                 Pull the latest git repository"
  echo "    --pull-image               Pull the latest Docker image"

pull_git=false
pull_image=false
rebuild)
      if [ "$(git symbolic-ref --short HEAD)" = "master" ] && [ "$pull_git" = true ]; then
        git branch -m master main
        git fetch origin
        git branch -u origin/main main
        git remote set-head origin -a
      fi
....

Con questo sono in grado di evitare di aggiornare ogni volta che eseguo il rebuild. Permette l’installazione del plugin.

Quando hai problemi con quei plugin, assicurati di menzionarlo quando avvii un nuovo argomento.

No, non lo fa, almeno non correttamente.

Potrebbe funzionare con plugin solo API, ma qualsiasi javascript di nuovi plugin deve essere compilato, il che avviene nel processo di build.

Pertanto, per aggiungere un nuovo plugin è necessario eseguire una ricompilazione nella maggior parte dei casi.

L’altro problema che hai è che la modifica degli script di build principali può metterti nei guai se non stai attento, specialmente se c’è una modifica sufficientemente significativa allo scripting principale.

1 Mi Piace