Cette mise à jour échoue pour moi, et pour le moment, mes 3 forums Discourse sont hors service.
La fenêtre de la console sur l’écran de mise à niveau ne se remplit d’aucun contenu, mais le reste de l’interface utilisateur suggère que la mise à niveau est toujours en cours (mais cela a déjà pris beaucoup plus de temps que toutes les mises à jour que j’ai effectuées).
D’autres personnes rencontrent-elles ce problème ? Avez-vous des idées sur la façon dont je peux faire aboutir la mise à niveau avec succès ?
@pearsonified parce que cela inclut une mise à jour du composant Rails, il s’agit de l’une de ces versions qui nécessite une mise à jour depuis la ligne de commande.
Ah, est-ce le problème avec l’erreur ruby 3.0 et web-push-3.0.0 ?
L’interface utilisateur de mise à niveau administrateur devrait l’indiquer à l’utilisateur plutôt que de le laisser cliquer sur « tout mettre à niveau » et se retrouver avec un forum complètement cassé. Cela épargnerait beaucoup de palpitations cardiaques aux utilisateurs.
Aucune idée ; personnellement, je n’utilise jamais l’interface graphique pour les mises à jour, je les fais personnellement toujours en ligne de commande. Je n’ai vu aucune erreur de ce type. Mais là encore, je ne l’aurais pas vue.
La plupart du temps, lorsque vous voyez un message d’erreur générique, si le scénario spécifique avait été suffisamment anticipé pour un message d’erreur spécifique, il aurait plutôt été évité.
Je suppose que c’est une bonne chose que le problème « aidez-moi, ma mise à jour de l’interface graphique a échoué » soit si rare que la plupart des gens ne réalisent pas que la première chose à faire est simplement d’aller faire git pull; ./launcher rebuild app pour le déploiement par défaut. C’est presque toujours la solution ici.
Mais c’est la chose générale à faire si la mise à jour de l’interface graphique échoue.
J’utilise Discourse depuis de nombreuses années maintenant. Genre 7 ? Quoi qu’il en soit, jamais une mise à niveau web n’a échoué de manière catastrophique auparavant. Elle a échoué bien sûr, mais le forum a toujours repris vie car il a fait un rollback et démarré l’ancien conteneur.
Ce n’est pas une erreur générique, le truc ruby est assez clair.
web-push-3.0.0 requires ruby version >= 3.0, which is incompatible with the
current version, 2.7.6
Docker Manager: FAILED TO UPGRADE
Je me plaindrais assez fort de cela si je payais pour Discourse. Pas parce qu’il y a un énorme bug qui a détruit notre forum, les bugs arrivent, mais parce qu’il n’a pas été corrigé depuis au moins 3 jours. En l’état, juste un peu d’excitation en fin de journée.
Du point de vue du gestionnaire Docker, ce code, au moment où la version déjà en cours d’exécution a été écrite, ne savait pas qu’à l’avenir ce problème se produirait. Je comprends que vous soyez frustré, mais ce que vous demandez n’a peut-être pas de sens techniquement.
Si vous aviez payé pour Discourse, ils géreraient ce processus et vous ne le verriez jamais.
Même si techniquement impossible à corriger, vous pourriez envoyer des e-mails aux utilisateurs pour les avertir de mettre à niveau via la CLI. Faites du bruit à ce sujet. Casser les forums sans possibilité de retour arrière est mauvais.
Je pensais que Discourse vendait également un support pour l’utilisation sur site ? Quoi qu’il en soit, je ne peux pas me plaindre trop fort car je ne suis pas un client payant, mais bon sang, 3 jours ce n’est pas terrible.
Je suis heureux pour vous que ce soit la première fois en sept ans que vous deviez en revenir à cela, mais :
Je vais qualifier cela de déformation. CDCK recommande en fait des sauvegardes avant les mises à jour comme meilleure pratique. J’ai vu à plusieurs reprises ici sur meta la note que si la mise à jour de l’interface graphique échoue, il faut revenir à la reconstruction depuis la ligne de commande, dans le cadre des attentes normales pour l’administration de son propre forum. Ils n’ont pas cassé les forums sans possibilité de retour arrière, donc votre implication est fausse.
Je ne vais pas rester ici à argumenter pendant des heures. Je pense juste que vous n’êtes pas tout à fait raisonnable ici.
De plus, mettre à niveau un serveur de production sans tester ladite mise à niveau dans un environnement de staging est une invitation à la douleur.
Il n’est pas nécessaire d’avoir une copie à grande échelle, un VPS à 5 $ suffira pour la plupart. Si vous voulez éviter les temps d’arrêt et le besoin de recourir à vos sauvegardes, c’est l’assurance la moins chère que vous puissiez obtenir.
Si vous me demandiez oui, la reconstruction de la CLI a bien fonctionné. Je suis un administrateur système décent et j’ai trouvé la solution sur les forums ici, mais il semble que d’autres propriétaires de forums comme @pearsonified aient été gravement gênés. 18 heures d’interruption, ouf.
Ceux qui parlent d’environnements de staging et de production sont hors d’eux. Il y a beaucoup de personnes non corporatives qui hébergent des forums Discourse sur de petites VM. « Vous devriez tester dans un environnement de staging » est une réponse insultante et sanctimonieuse qui ne justifie en aucun cas la rupture de leur installation. Rien ne justifie cela.
Je veux juste souligner que j’apprécie que ce logiciel excellent soit complètement gratuit. J’en suis reconnaissant, et les obstacles occasionnels ne changent pas mes sentiments.
Discourse est gratuit, les serveurs, les domaines et notre temps ne le sont pas.
Cela n’a rien à voir avec les environnements d’entreprise, c’est simplement du bon sens lorsqu’il y a autant de variables en jeu. Beaucoup de travail est fait pour rendre les mises à niveau transparentes et si vous préférez donner votre temps gratuitement pour résoudre des problèmes importants, c’est votre choix - mais personnellement, je préfère savoir que les communautés à but non lucratif et bénévoles que j’héberge seront indisponibles une fois pour une mise à niveau sans douleur, par opposition à une période prolongée.
Le plus petit VPS chez DO suffira à réduire les risques lors des mises à niveau tant que le test est représentatif - si vous êtes un bon SA, alors ces 5 $ représentent le coût d’une tasse de café, et une fraction de votre tarif horaire du marché.
La VM de pré-production devrait également contenir les données du forum, ce qui doublerait nos coûts d’hébergement. Ce n’est de toute façon pas nécessaire, c’est un forum de jeux vidéo et un peu d’indisponibilité (pas 18 heures !) est acceptable. Au pire, j’avais un instantané de la VM avant la mise à niveau, donc j’aurais pu simplement la restaurer.
Je trouve que les 4 jours pendant lesquels cela est resté en panne sont préoccupants. Les échecs de mise à niveau sans restauration devraient déclencher un véritable moment de « mince, il faut que ce soit réparé MAINTENANT ». Cela ne devrait pas être une déclaration controversée.
J’ai également rencontré l’erreur web-push Ruby. Forum normal, pas de plugins personnalisés.
web-push-3.0.0 requiert une version de ruby >= 3.0, ce qui est incompatible avec la
version actuelle, 2.7.6
Il y a eu des moments auparavant où il était dit qu’il fallait le mettre à jour via la ligne de commande. Peut-être que cette option pourrait être activée maintenant pour la version qui cause ce problème ?
Edit : Oh, il le dit en fait !
Le problème est que lorsque vous effectuez une mise à jour de docker_manager et que vous cliquez simplement sur l’onglet en haut plutôt que de rafraîchir la page. Pourrait-il donc être modifié pour rafraîchir via HTTP plutôt que de simplement changer d’onglet avec JS ?