Rien n'affiché sur la reconstruction du lanceur

J’essaie de suivre le guide pour ajouter le support du gem MySQL au conteneur de l’application via le tutoriel Use an import script that requires MySQL - #4 by pfaffman

Cependant, lorsque j’exécute les commandes suivantes, le processus se fige simplement.

> ./launcher stop app
> ./launcher rebuild import

image
Jusqu’à ce que je tue le processus avec CTRL+C

Note : J’ai attendu plus de quelques heures pour obtenir une réponse, mais rien ne se produit.

Lorsque j’inspecte les conteneurs Docker, un nouveau conteneur (corrompu) arrêté apparaît.

image

Je ne suis pas sûr de ce que je fais de mal qui conduit à ce comportement.

Voici le contenu de mon fichier containers/import.yml (la partie inchangée a été retirée) :

Le serveur est hébergé sur DO et, lorsque je redémarre le service Docker, le conteneur d’application d’origine est restauré et fonctionne à nouveau.

image

P.S : ./launcher rebuild app fonctionne cependant sans problème.

Peut-être exécutez-vous ./launcher stop app; avant d’essayer de construire import ?

EDIT :

Dommage.

Oui, bien sûr, j’exécute la commande rebuild après la commande stop. Laissez-moi modifier ma question.

OK, j’ai compris. Après avoir arrêté le conteneur

> ./launcher stop app

J’ai également supprimé le conteneur avec docker rm app et j’ai tenté de reconstruire par la suite, ce qui a permis de poursuivre plus loin.

Maintenant, lorsque j’arrive au point où le template mysql-dep est utilisé, l’erreur suivante est générée.

...
Setting up libgmp-dev:amd64 (2:6.1.2+dfsg-4) ...
Setting up nettle-dev:amd64 (3.4.1-1) ...
Setting up libgnutls28-dev:amd64 (3.6.7-4+deb10u2) ...
Setting up libmariadb-dev (1:10.3.22-0+deb10u1) ...
Processing triggers for libc-bin (2.28-10) ...

I, [2020-02-27T16:51:33.937186 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without "test development"'
[DEPRECATED] L'option `--path` est obsolète car elle dépend du fait d'être mémorisée entre les invocations de bundler, ce que bundler ne fera plus dans les versions futures. Veuillez plutôt utiliser `bundle config set path 'vendor/bundle'` et arrêter d'utiliser cette option.
[DEPRECATED] L'option `--without` est obsolète car elle dépend du fait d'être mémorisée entre les invocations de bundler, ce que bundler ne fera plus dans les versions futures. Veuillez plutôt utiliser `bundle config set without 'test development'` et arrêter d'utiliser cette option.
Vous essayez d'installer en mode déploiement après avoir modifié
votre Gemfile. Exécutez `bundle install` ailleurs et ajoutez le
fichier Gemfile.lock mis à jour au contrôle de version.

Si vous êtes sur une machine de développement, supprimez le gel
(/var/www/discourse/Gemfile freeze) en exécutant `bundle config unset deployment`.

Les dépendances de votre gemfile ont changé

Vous avez ajouté au Gemfile :
* mysql2
I, [2020-02-27T16:51:34.670930 #1]  INFO -- : 
I, [2020-02-27T16:51:34.672542 #1]  INFO -- : Terminaison des processus asynchrones
I, [2020-02-27T16:51:34.673101 #1]  INFO -- : Envoi de INT à HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 49
I, [2020-02-27T16:51:34.673593 #1]  INFO -- : Envoi de TERM à exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 166
2020-02-27 16:51:34.674 UTC [49] LOG:  demande d'arrêt rapide reçue
166:signal-handler (1582822294) SIGTERM reçu, planification de l'arrêt...
2020-02-27 16:51:34.682 UTC [49] LOG:  annulation de toutes les transactions actives
166:M 27 Feb 2020 16:51:34.693 # Arrêt demandé par l'utilisateur...
166:M 27 Feb 2020 16:51:34.695 * Sauvegarde du dernier instantané RDB avant la sortie.
2020-02-27 16:51:34.698 UTC [49] LOG:  processus worker : lanceur de réplication logique (PID 58) terminé avec le code de sortie 1
2020-02-27 16:51:34.701 UTC [53] LOG:  arrêt en cours
166:M 27 Feb 2020 16:51:34.741 * Base de données sauvegardée sur le disque
166:M 27 Feb 2020 16:51:34.742 # Redis est maintenant prêt à quitter, au revoir...
2020-02-27 16:51:34.786 UTC [49] LOG:  le système de base de données est arrêté


ÉCHEC
--------------------
Pups::ExecError : cd /var/www/discourse && su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development' a échoué avec le retour #<Process::Status: pid 970 exit 16>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
Échec de l'exécution avec les paramètres {"cd"=>"$home", "cmd"=>["echo \"gem 'mysql2'\" >> Gemfile", "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmariadb-dev", "su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development'"]}
75b27d60e1dc3a4b5d76bc75f2874ebf405fe29edfebec3cb809233f7b01ec48
** ÉCHEC DU BOOTSTRAP ** Veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.

Quelqu’un connaît-il cette erreur, s’il vous plaît ?

Je rencontre des problèmes similaires. Cela semble être le même cas que Failed to bootstrap using import template.

Et je n’avais pas l’intention de tenter de mettre à jour ce conteneur car j’avais vu cela, mais j’ai essayé quand même à cause d’une autre erreur étrange… .

EDIT : J’ai ajouté

su discourse -c 'bundle config unset deployment'

au modèle avant la ligne

 su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without "test development"'

et cela fonctionne. (Mais, hélas, cela n’a pas résolu mon problème sans rapport).

Je viens tout juste d’utiliser ce modèle la semaine dernière et je n’ai rencontré aucun problème. C’est assez étrange, mais cela vaut la peine d’y jeter un coup d’œil la semaine prochaine. Je l’ajouterai à ma liste.

Moi aussi ! Mais je suppose que quelque chose a été mis à niveau ?

En plus du commentaire, j’ai également dû sauter les prérequis du lanceur

> ./launcher rebuild import --skip-prereqs

et, suivant la suggestion de @pfaffman

l’image a été construite avec succès. :white_check_mark:

Il semble que ce soit résolu ici – @pfaffman @rahilqf pouvez-vous confirmer ?

Ça a l’air. Merci beaucoup !

Maintenant, s’il existait seulement un modèle qui ajouterait php-serialize