Niente visualizzato nel rebuild del launcher

Sto cercando di seguire la guida per aggiungere il supporto al gem MySQL al contenitore dell’app tramite il tutorial Use an import script that requires MySQL - #4 by pfaffman

Tuttavia, quando eseguo i seguenti comandi, il processo si blocca semplicemente.

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

image
Devo terminare il processo premendo CTRL+C

Nota: Ho aspettato più di un paio di ore per vedere qualsiasi risposta, ma non è successo nulla.

Quando ispeziono i container Docker, vedo un nuovo container fermato (corrotto).

image

Non sono sicuro di cosa stia sbagliando, che porta a questo comportamento.

Ecco il contenuto del mio file containers/import.yml (rimossa la parte non modificata):

Il server è ospitato su DO e quando riavvio il servizio Docker, torna il container dell’app originale in esecuzione.

image

P.S: ./launcher rebuild app funziona comunque correttamente.

Forse esegui ./launcher stop app; prima di provare a compilare import?

MODIFICA:

Maledizione.

Sì, ovviamente sto eseguendo rebuild dopo il sottomando stop. Lascia che modifichi la mia domanda.

OK, l’ho capito. Dopo aver fermato il contenitore

> ./launcher stop app

ho anche rimosso il contenitore con docker rm app e ho provato a ricompilarlo, e il processo è andato avanti.

Ora, quando arrivo al punto in cui viene utilizzato il template mysql-dep, viene generato il seguente errore.

...
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'opzione `--path` è deprecata perché dipende dal fatto che venga ricordata tra le invocazioni di bundler, cosa che bundler non farà più nelle versioni future. Si prega invece di usare `bundle config set path 'vendor/bundle'` e di smettere di usare questa opzione
[DEPRECATED] L'opzione `--without` è deprecata perché dipende dal fatto che venga ricordata tra le invocazioni di bundler, cosa che bundler non farà più nelle versioni future. Si prega invece di usare `bundle config set without 'test development'` e di smettere di usare questa opzione
Stai cercando di installare in modalità deployment dopo aver modificato
il tuo Gemfile. Esegui `bundle install` altrove e aggiungi il
Gemfile.lock aggiornato al controllo versione.

Se questa è una macchina di sviluppo, rimuovi il blocco del file /var/www/discourse/Gemfile 
eseguendo `bundle config unset deployment`.

Le dipendenze nel tuo gemfile sono cambiate

Hai aggiunto al Gemfile:
* mysql2
I, [2020-02-27T16:51:34.670930 #1]  INFO -- : 
I, [2020-02-27T16:51:34.672542 #1]  INFO -- : Terminazione dei processi asincroni
I, [2020-02-27T16:51:34.673101 #1]  INFO -- : Invio di INT a 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 -- : Invio di TERM a 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:  richiesta di arresto rapido ricevuta
166:signal-handler (1582822294) Segnale SIGTERM ricevuto, pianificazione dell'arresto...
2020-02-27 16:51:34.682 UTC [49] LOG:  interruzione di tutte le transazioni attive
166:M 27 Feb 2020 16:51:34.693 # Arresto richiesto dall'utente...
166:M 27 Feb 2020 16:51:34.695 * Salvataggio dell'ultimo snapshot RDB prima dell'uscita.
2020-02-27 16:51:34.698 UTC [49] LOG:  processo worker: avvio della replicazione logica (PID 58) terminato con codice di uscita 1
2020-02-27 16:51:34.701 UTC [53] LOG:  arresto in corso
166:M 27 Feb 2020 16:51:34.741 * DB salvato su disco
166:M 27 Feb 2020 16:51:34.742 # Redis è ora pronto per uscire, arrivederci...
2020-02-27 16:51:34.786 UTC [49] LOG:  il sistema di database è stato arrestato


ERRORE
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development' fallito con stato di ritorno #<Process::Status: pid 970 exit 16>
Posizione dell'errore: /pups/lib/pups/exec_command.rb:112:in `spawn'
Esecuzione fallita con i parametri {"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
** FALLITO L'AVVIO ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.

Qualcuno sa qualcosa su questo errore, per favore?

Sto riscontrando problemi simili. Sembra lo stesso caso di Failed to bootstrap using import template.

E intendevo non provare ad aggiornare quel container perché avevo visto questo, ma l’ho provato comunque a causa di un altro errore strano. . .

MODIFICA: Ho aggiunto

su discourse -c 'bundle config unset deployment'

al template prima della riga

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

e ora funziona. (Ma, ahimè, non ha risolto il mio problema non correlato).

L’ho letteralmente usato questa template la settimana scorsa e non ho avuto problemi. È piuttosto strano, ma vale la pena dare un’occhiata la prossima settimana. Lo aggiungerò alla mia lista.

Anche io! Ma immagino che qualcosa sia stato aggiornato?

Oltre al commento, ho dovuto anche saltare i prerequisiti del launcher

> ./launcher rebuild import --skip-prereqs

e seguendo il suggerimento di @pfaffman

l’immagine è stata costruita con successo. :white_check_mark:

Sembra che qui sia stato risolto – @pfaffman @rahilqf potete confermare?

Sembra proprio di sì. Grazie mille!

Ora, se solo esistesse un modello che aggiunga php-serialize