La reconstruction échoue, exécution de la version 2.8.9

Bonjour,

depuis un certain temps, notre instance ne parvient plus à se mettre à jour, la reconstruction échoue. Nous utilisons Discourse 2.8.9 dans Docker. Nous avons essayé de passer aux versions 2.8.10 et 2.8.13 maintenant.

./launcher rebuild app
...
I, [2022-12-01T12:10:27.197669 #1]  INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
bundler: failed to load command: rake (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake)
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:308:in `check_for_activated_spec!': You have already activated uri 0.10.0, but your Gemfile requires uri 0.11.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:25:in `block in setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `map'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler.rb:162:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:136:in `with_level'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:88:in `silence'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `<top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `require_relative'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `kernel_load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:23:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:486:in `exec'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:31:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:25:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:48:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:36:in `<top (required)>'
	from /usr/local/bin/bundle:23:in `load'
	from /usr/local/bin/bundle:23:in `<main>'
I, [2022-12-01T12:10:27.537797 #1]  INFO -- : 
I, [2022-12-01T12:10:27.538882 #1]  INFO -- : cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
bundler: failed to load command: rake (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/rake)
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:308:in `check_for_activated_spec!': You have already activated uri 0.10.0, but your Gemfile requires uri 0.11.0. Since uri is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports uri as a default gem. (Gem::LoadError)
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:25:in `block in setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/spec_set.rb:155:in `each'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `map'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/runtime.rb:24:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler.rb:162:in `setup'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:136:in `with_level'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/ui/shell.rb:88:in `silence'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/setup.rb:20:in `<top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `require_relative'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:56:in `kernel_load'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli/exec.rb:23:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:486:in `exec'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:31:in `dispatch'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/cli.rb:25:in `start'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:48:in `block in <top (required)>'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
	from /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.3.22/exe/bundle:36:in `<top (required)>'
	from /usr/local/bin/bundle:23:in `load'
	from /usr/local/bin/bundle:23:in `<main>'
I, [2022-12-01T12:10:27.859901 #1]  INFO -- : 
I, [2022-12-01T12:10:27.861085 #1]  INFO -- : Terminating async processes
I, [2022-12-01T12:10:27.861874 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 31
31:signal-handler (1669896627) Received SIGTERM scheduling shutdown...
31:M 01 Dec 2022 12:10:27.961 # User requested shutdown...
31:M 01 Dec 2022 12:10:27.963 * Saving the final RDB snapshot before exiting.
31:M 01 Dec 2022 12:10:28.025 * DB saved on disk
31:M 01 Dec 2022 12:10:28.027 # Redis is now ready to exit, bye bye...

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 4804 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
fde0a026f0cd2470f6fa579009db125a783db4115eab6d151389446042e22119
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.

Les mises à jour avant la 2.8.10 n’avaient posé aucun problème. Voici quelques informations supplémentaires :

Système :
Debian 11 Bullseye
8 Go de RAM
Espace disque libre suffisant
Postgres est installé via le dépôt PGDG, il ne fonctionne pas dans un conteneur.
Plugins : uniquement les plugins préinstallés docker_manager, styleguide
Composants : Custom Header Links

app.yml


templates:
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"

version: stable

Le modèle standalone.yml a été utilisé pour app.yml

Cela signifie que vous avez un plugin incompatible. Pouvez-vous partager votre liste de plugins ?

from app.yml

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

Donc je peux juste supprimer cette ligne et réessayer ?

1 « J'aime »

Jamais vu cette erreur sans aucun plugin non groupé, c’est étrange. Pouvez-vous partager le journal complet de la reconstruction ?

Exécutez-vous des conteneurs web et de données séparés ?

J’ai vu une erreur similaire plus tôt cette année avec une version 2.8 lorsque le conteneur de données était obsolète et que redis nécessitait une mise à niveau.

Quelle version ? Nous avons absolument besoin de plus d’informations sur votre installation.

1 « J'aime »

En tant que nouvel utilisateur, je ne peux pas télécharger de pièces jointes et le journal est plus long que ce qui est autorisé pour une publication. Pouvez-vous me donner la permission de télécharger des pièces jointes ?

Exécutez-vous des conteneurs web et de données séparés ?

Non, un seul conteneur d’application.

Quelle version ? Nous avons absolument besoin de plus d’informations sur votre installation.

Bien sûr. Nous utilisons PostgreSQL 13.

Merci pour votre réponse rapide.

Cette erreur se produit lorsque les versions de bundler ou de rubygems sont obsolètes.

S’agit-il d’une installation standard ?
Avez-vous effectué une reconstruction en ligne de commande ?
Git a-t-il récupéré une nouvelle version ?
Git récupère-t-il main et non master ?

2 « J'aime »

Est-ce une installation standard ?

Principalement oui. Nous utilisons Nginx comme proxy inverse.

Avez-vous effectué une reconstruction en ligne de commande ?

Oui.

Est-ce que git a récupéré une nouvelle version ?

Oui.

Est-ce que git récupère main et non master ?

Il a récupéré depuis master. Je l’ai changé pour main mais l’erreur de build est la même.

MISE À JOUR : J’ai fait une erreur. Changer la branche distante a résolu le problème. Merci beaucoup !

4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.