Problème lors de la reconstruction

Voici la configuration de mes plugins à l’aide de Docker 27.0

cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/paviliondev/discourse-locations.git

sur ./launcher rebuild app

Je reçois l’erreur suivante pour le plugin d’emplacement

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 449 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migra
te'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

S’il vous plaît, conseillez-moi

Voyez si vous pouvez déterminer quelle migration a échoué.

2 « J'aime »

dans le post original comme je l’ai mentionné
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate’ failed with return #<Process::Status: pid 449 exit 1>

Et plus haut dans les journaux, il imprime les migrations au fur et à mesure qu’elles sont effectuées, vous devez donc trouver celle qui a causé le problème.

2 « J'aime »

oO0OoO0OoO0Oo Redis démarre oO0OoO0OoO0Oo
Version de Redis=7.0.15, bits=64, commit=00000000, modifié=0, pid=447, vient de démarrer
Configuration chargée

  • horloge monotone : POSIX clock_gettime
    Avertissement : Impossible de créer le socket d’écoute TCP serveur *:6379 : bind : Adresse déjà utilisée
    Échec de l’écoute sur le port 6379 (TCP), abandon.

cd /var/www/discourse & & su discourse -c bundle exec rake db:migrate rake aborted!
OpenSSL::SSL::SSLError : SSL_connect retourné=1 errno=0 peeraddr=xx.xx.xx.xx:443 état=erreur : eof inattendu lors de la lecture (OpenSSL::S
SL::SSLError)

Votre erreur est la ligne du plugin d’emplacement

- git clone https://github.com/paviliondev/discourse-locations

Supprimez le “.git” comme dans ma ligne ci-dessus.

https://github.com/paviliondev/discourse-locations

Pas de .git sur le lien github des plugins. La première ligne pour docker a un “.git”. Les plugins sont juste des adresses de liens.

Si vous remontez dans le journal, vous devriez voir une sorte d’erreur liée à la ligne du plugin d’emplacement. L’erreur que vous avez postée, je l’obtiens aussi, mais elle n’affecte pas la reconstruction.

Cela n’affectera rien - les deux vous donnent le même résultat

4 « J'aime »

Je n’étais pas au courant. Je comparais simplement les lignes de mon instance app.yml et j’ai remarqué que seule la ligne docker avait l’extension “.git” et je me suis souvenu des avertissements sur la sensibilité de ces agencements de fichiers.

Merci pour la clarification.

1 « J'aime »

Si c’est une copie 1:1 de app.yml alors les lignes git commencent au mauvais endroit. - devrait être sous d.

cmd:
  - git…
3 « J'aime »

Alors ma question est de savoir comment les autres plugins avec .git dans l’URL fonctionnent bien. Exemple : les plugins Calendar et news ont bien fonctionné avec .git, c’est la façon dont nous appliquons normalement la commande git. Pouvez-vous expliquer un peu la différence que fait .git ?

Je vois que la migration échoue et qu’un problème lié au port est également signalé, je ne suis pas sûr de la raison.

Si vous avez vu la réponse de @supermathie à la mienne. J’ai eu tort. Je me basais sur ma configuration app.yml. Apparemment, l’un ou l’autre agencement convient.

Je ne m’inquiéterais pas de l’erreur de port précédente que vous avez signalée, car je les rencontre et la reconstruction se passe bien. Essayez de supprimer le plugin locations et reconstruisez pour voir s’il échoue toujours.

Remontez si cela échoue, capturez une bonne partie de la sortie avant le message d’échec final. Il devrait y avoir, s’il s’agit d’un problème d’installation de plugin ou peut-être autre chose, des messages d’erreur.

Il est possible que lorsque vous modifiiez le fichier app.yml, vous ayez inséré un espace ou autre chose. Une bonne pratique consiste à capturer le contenu avant la modification, de sorte que si cela échoue, vous puissiez comparer l’ancien et le nouveau. Si nécessaire, ligne par ligne.

Je regarde généralement pendant la reconstruction à chaque fois et je me suis habitué à certains messages d’erreur/avertissement courants qui ne semblent pas affecter la reconstruction.

J’ai eu un échec il y a quelque temps qui était lié à un plugin, mais c’était dû, dans mon cas à l’époque, à l’absence de la mise à jour qui a fusionné Chat avec le cœur du système.

Les personnes ici auront besoin de voir davantage le fichier journal de reconstruction pour aider à identifier où cela échoue.

L’exécution de discourse-doctor comme le suggère le résultat de l’échec pourrait également aider. Mais dans mon expérience, remonter a généralement été ma meilleure approche.

Vous pourriez également copier la section inférieure ou tout votre fichier app.yml et le coller ici. Assurez-vous simplement de supprimer les éléments sensibles comme vos lignes de fournisseur de messagerie, les informations MaxMind. Bien que vous suspectiez la zone des plugins, donc… même en copiant simplement à partir de la section inférieure de $home, cela pourrait donner quelques éclaircissements.

1 « J'aime »

Je peux aussi voir cette ligne et je peux confirmer que ma 2ème VM rencontre le même problème uniquement pour les plugins de localisation.
Causé par :
OpenSSL::SSL::SSLError : SSL_connect retourné=1 errno=0 peeraddr=184.104.226.109:443 state=error : eof inattendu lors de la lecture (OpenSSL::SSL::SSLError)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:46:in connect_nonblock' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:46:in ssl_socket_connect’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1742:in `connect’

1 « J'aime »

Pouvez-vous reconstruire si vous supprimez le plugin de localisation de app.yml ?

Avez-vous vérifié l’indentation de votre fichier, comme mentionné ici ?

1 « J'aime »

tout fonctionne bien sauf l’emplacement

2 « J'aime »

Je pense que Robert examinera bientôt les problèmes du plugin d’emplacement. J’ai remarqué une erreur avec la dernière version de Discourse dans une PR pour corriger une dépréciation, et il a dit qu’il y jetterait un œil très bientôt.

3 « J'aime »

Oh merci pour cette information et j’espère que je recevrai une notification une fois que nous aurons résolu ce problème

Merci beaucoup

3 « J'aime »

Envisagez une publication dans Marketplace si vous souhaitez que cela soit examiné en priorité et que vous avez un budget, mais cela ressemble à un problème de version/compatibilité de gemme d’une manière ou d’une autre.

4 « J'aime »

mais la semaine dernière, j’ai ajouté les mêmes plugins sur Docker 24.0.x et cela fonctionne et voici Docker 27.0.x, c’est la seule différence

Ce plugin d’actualités est également cassé.

3 « J'aime »