Reconstruction du launcher : récupérer la dernière version de discourse depuis Github

Salut,

J’ai déjà installé et configuré Discourse. Chaque fois que je reconstruis l’application, elle récupère le dépôt du lanceur, l’image Docker discourse/base et le dépôt Discourse.

Je souhaite limiter ce comportement afin que la reconstruction ne vérifie pas les mises à jour et ne les télécharge pas automatiquement, sauf si un paramètre spécifique est passé.

Quelqu’un a-t-il déjà fait quelque chose de similaire ?

Êtes-vous préoccupé par la stabilité des versions ?

Pourquoi ne pas passer à la branche stable ?

J’utilise la version stable, 3.2.0.

L’intention est de ne tirer du dépôt GitHub ou Docker Hub que lorsque nous le souhaitons, pas à chaque fois que nous reconstruisons le conteneur.

Utilisez-vous une installation standard ?

Si oui, pourquoi ne pas simplement exécuter la commande de reconstruction ?

Pour information, les mises à jour vers la version stable peuvent être importantes - elles contiennent généralement des correctifs de vulnérabilités ou de bogues importants.

Oui, j’utilise l’approche autonome standard. Je comprends la nécessité de maintenir l’application à jour. Mon idée est d’ajouter un drapeau au lanceur lorsque je souhaite mettre à jour le dépôt.

Si vous souhaitez redémarrer le conteneur sans reconstruire, faites simplement :

./launcher restart app

Pourquoi avez-vous besoin de reconstruire sans mettre à jour - quel est votre objectif ?

Les mises à jour stables sont peu susceptibles d’introduire des changements majeurs.

1 « J'aime »

Le but de la version stable est l’absence de changement. Pourquoi reconstruisez-vous quoi que ce soit ?

La raison pour laquelle il récupère le conteneur est de le maintenir en parité avec les exigences du code de discours.

Si vous souhaitez faire quelque chose comme entrer dans le conteneur sans effectuer de récupération, vous pouvez

 docker exec -it app bash

Et si vous vouliez ajouter un plugin sans reconstruire, vous pourriez entrer dans le répertoire du plugin et le cloner, puis migrer la base de données, mais vous devez toujours vous assurer que vous obtenez le bon commit du plugin pour la version stable de strangle.

2 « J'aime »

En cas d’ajout ou de suppression d’un plugin, ./launcher restart app ne mettra pas à jour l’instance.

1 « J'aime »

Étant donné que les versions stables sont relativement rares, elles ne présentent pas du tout souvent de changements majeurs et s’accompagnent généralement d’importantes mises à jour de sécurité lorsqu’il y en a une, je ne comprends pas votre exigence.

À mon avis, l’ajout d’un plugin est une bonne excuse pour mettre à jour et s’assurer que vous avez récupéré toutes les mises à jour disponibles.

Ne pas mettre à jour sur une version stable, à mon humble avis, est une mauvaise pratique car cela pourrait vous exposer plus longtemps à des vulnérabilités connues.

1 « J'aime »

J’ai apporté les modifications suivantes au lanceur

echo "    --pull-git                 Tirer le dernier dépôt git"
  echo "    --pull-image               Tirer la dernière image Docker"

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
....

Avec cela, je suis capable d’éviter de mettre à jour à chaque fois que je fais le rebuild. Cela permet d’installer le plugin.

Lorsque vous avez des problèmes avec ces plugins, assurez-vous de le mentionner lorsque vous créez un nouveau sujet.

Non, ce n’est pas le cas, du moins pas correctement.

Cela peut fonctionner avec des plugins uniquement API, mais tout javascript ou nouveau plugin doit être compilé, ce qui se produit dans le processus de construction.

Par conséquent, pour ajouter un nouveau plugin, vous devez effectuer une reconstruction dans la plupart des cas.

L’autre problème que vous avez est que la modification des scripts de construction principaux peut vous causer de gros problèmes si vous ne faites pas attention, surtout s’il y a un changement suffisamment important dans les scripts principaux.

1 « J'aime »