Mise à jour dans le navigateur vs Terminal

Est-ce le même processus pour mettre à jour Discourse via le navigateur, ou via le terminal en utilisant ./launcher rebuild app ?
Si oui, y a-t-il des avantages de l’un par rapport à l’autre, autres que de pouvoir mettre à jour les plugins individuellement ?

Je ne suis pas un expert en la matière, donc je m’excuse si je dis quelque chose qui n’a pas de sens.

Je pose cette question, car c’est la deuxième fois que j’essaie de mettre à jour via le navigateur et que cela reste bloqué. La première fois, cela a commencé et s’est bloqué au milieu du processus de mise à jour, et puis hier soir (2ème fois), j’ai cliqué sur le bouton de mise à jour, je suis allé me coucher, et ce matin, cela n’avait même pas commencé. J’ai dû annuler et redémarrer.

1 « J'aime »

Utilisez l’interface utilisateur lorsque cela est possible pour minimiser les temps d’arrêt (quelques secondes)

Parfois, certaines formes de mise à jour (par exemple, mise à jour de la version de postgres) nécessitent une mise à jour en ligne de commande. Ceci est nécessaire dans ces cas, mais entraîne un temps d’arrêt sur une installation standard. Généralement environ 20 minutes. Choisissez une période creuse.

Ces occasions devraient être évidentes à partir de l’interface utilisateur.

Si vous souhaitez ajouter ou supprimer un plugin, vous devrez utiliser la reconstruction de la console.

3 « J'aime »

Alors que je mets à jour maintenant, j’ai remarqué que le forum fonctionne toujours, mais qu’il est parfois un peu plus lent. C’est bien par rapport à l’utilisation du terminal, qui semble rendre le forum complètement inopérant. Merci d’avoir clarifié cela.

Même pour un non-expert comme moi ? Je veux dire, y aura-t-il quelque chose qui m’indiquera que je devrais utiliser le terminal à la place ?

D’un point de vue technologique, pensez-vous que cela changera un jour, où nous pourrons tout faire dans le navigateur ? Je ne connais pas les aspects techniques de ce processus, c’est pourquoi je pose la question.

1 « J'aime »

Il s’est encore bloqué…

Spinning up 1 Unicorn worker(s) that were stopped initially

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command was killed with SIGKILL (Forced termination): ember build -prod Docker Manager: FAILED TO UPGRADE

Est-ce quelque chose que je vais rencontrer souvent ? Qu’est-ce qui pourrait causer cela et comment le résoudre ?

Je soupçonne que cela restera toujours ainsi lors de l’installation standard.

Vous pouvez trouver des ressources ici pour configurer un « écran nous sommes hors ligne, revenez plus tard » afin d’atténuer ces 20 minutes, mais ce n’est pas l’installation standard et je vous suggérerais de garder les choses simples et faciles à prendre en charge.

Je l’ai vu il y a quelques jours, mais c’était en effet très complexe pour moi.

Je viens de publier les erreurs que je vois en essayant de mettre à jour maintenant. Il a encore planté. C’est dans ma réponse précédente.

Après qu’il ait planté, j’ai cliqué sur le bouton pour redémarrer la mise à jour et il est de nouveau bloqué sur ceci, ce qui s’est passé hier soir :

Voici ce que j’ai remarqué, mais je ne sais pas si c’est une coïncidence : lorsqu’il est bloqué dans cet état où rien ne se passe, je clique sur Réinitialiser la mise à jour. J’essaie de redémarrer, rien ne se passe. Ensuite, je retourne à la page avec toutes les mises à jour et je clique sur le bouton Mettre à jour. Cette fois, la mise à jour démarre. Je ne suis pas sûr s’il y a quelque chose de cassé dans le code qui, après une réinitialisation, le bouton pour redémarrer ne fait rien ? Je n’en ai aucune idée, mais je partage juste mon expérience.

Maintenant, il se met à jour à nouveau, après que j’ai fait ce que je viens de décrire.

Je suis confus maintenant… ça a encore planté, mais quand j’ai actualisé le navigateur, il disait que Discourse était à la dernière version…
Quand je suis allé sur la page principale des mises à jour où se trouvent les plugins, elle montrait bien Discourse comme étant mis à jour :thinking:

Essayez de créer un swap :

Il semble que ce message d’erreur soit devenu très courant dernièrement, et qu’il ait toujours été résolu en créant un swap. Je ne sais pas pourquoi, car les exigences officielles de Discourse n’ont pas changé.

2 « J'aime »

J’ai déjà vu ce mot, mais je n’ai aucune idée de ce que c’est ni à quoi ça sert.

Merci de partager ce lien. Je vais le faire et si je rencontre un problème, je le partagerai.

Quand je vais sur DigitalOcean, je vois ceci pour mon droplet :
image

Donc je « qualifie » pour ce processus de fichier swap que vous avez partagé, n’est-ce pas ? Parce que mon serveur a <= 2 Go de RAM.

1 « J'aime »

Si elle est inférieure à 2 Go, je recommanderais de créer un fichier d’échange (swapfile). Le mien fait 1 Go, donc j’en avais absolument besoin.

D’après ce que je comprends, le swap utilise essentiellement une partie du stockage et la convertit pour l’utiliser comme mémoire supplémentaire.

2 « J'aime »

Alors ./discourse-setup aurait dû créer un espace d’échange automatiquement. Je ne suis pas bien renseigné sur les arcanes de l’administration système, donc je laisserai d’autres en dire plus à ce sujet.

Cela dit, même avec plus que les exigences, des utilisateurs ont rencontré ce problème, donc il y a quelque chose de louche.

Quant à la mise à jour via l’interface, je l’ai trouvée un peu peu fiable au fil des années. Je ne sais pas pourquoi, il semble qu’elle échoue parfois sans raison apparente alors qu’une reconstruction fonctionne.

3 « J'aime »

Y a-t-il un moyen, via le Terminal, de voir s’il y en a déjà un ? (Peut-être que cela répond à ma question ? Je ne suis pas très versé dans les arcanes de l'administration système)

Ok, donc je ne suis pas seul ici.

Je suis un peu confus… utiliser le Terminal, ce sont 2 choses différentes ? Mise à jour et Reconstruction ? Parce que je n’ai utilisé que ./launcher rebuild app et cela fonctionne toujours.

1 « J'aime »

Ok merci. Ça aide !

2 « J'aime »

Désolé, je voulais dire depuis l’interface, j’ai corrigé mon message. :slight_smile:

2 « J'aime »

Ah d’accord, maintenant ça a du sens :slight_smile:
Oui, c’est aussi mon expérience.
Le seul inconvénient est que la reconstruction arrête complètement le forum, ce qui n’est pas idéal, mais bon… on fait ce qu’on peut.

1 « J'aime »

J’ai interrogé Claude sur ma question, à savoir s’il existe un moyen de vérifier s’il y a un fichier d’échange, et voici ce que j’ai obtenu :

MISE À JOUR

Sans expertise en la matière, j’ai utilisé Claude et ChatGPT pour m’aider à comprendre les choses. Ainsi, comme suggéré, j’ai opté pour la méthode du fichier d’échange (swapfile), mais comme il a été souligné, j’avais peut-être déjà un fichier d’échange en fonction de la façon dont j’ai installé Discourse. Pour m’en assurer, j’ai exécuté

sudo swapon --show

dans le Terminal et j’ai obtenu ceci :

image

J’ai donc regardé la colonne « USED » et j’ai pensé : « Eh bien, si le fichier d’échange est utilisé pour aider les choses à fonctionner plus fluidement lorsque la RAM n’est pas suffisante, mais il indique que le fichier d’échange utilise 1,9 Go sur 2 Go, cela n’aidera pas »

J’ai donc demandé à ChatGPT si je pouvais simplement effacer/vider le fichier d’échange et j’ai obtenu cette commande :

sudo swapoff -a &amp;&amp; sudo swapon -a

Je l’ai exécutée, j’ai laissé faire et j’ai réexécuté l’autre commande :

sudo swapon --show

Maintenant, je vois ceci :
image

Je suppose donc qu’il est bon de passer par ce processus de nettoyage/vidage du fichier d’échange de temps en temps ?

Vaut la peine d’essayer d’augmenter votre swap :

2 « J'aime »

La reconstruction depuis la ligne de commande consomme moins de RAM.

Avec une installation à deux conteneurs, vous pouvez construire un nouveau conteneur pendant que l’ancien continue de fonctionner (si vous avez suffisamment de RAM). Cela vous permet d’avoir peu de temps d’arrêt.

Vous devez parfois faire une reconstruction en ligne de commande parce que les bibliothèques sous-jacentes doivent être mises à jour, et cela ne peut pas être fait à partir de l’interface utilisateur.

Vous pouvez

cd /var/discourse
grep swap discourse-setup

pour voir les commandes qu’il exécute pour créer le swap. Si vous exécutez swapoff (pour que le fichier ne soit plus utilisé), vous pouvez ensuite exécuter les commandes qui créent le fichier (fsallocate) en l’agrandissant si désiré, le formater en swap (mkswap) et enfin utiliser swapon -a pour le réactiver.

Si vous avez beaucoup de plugins, il vous faut probablement au total 5 ou 6 Go.

4 « J'aime »