Problema al reconstruir

Aquí está la configuración de mis plugins usando docker 27.0

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

en ./launcher rebuild app

Estoy recibiendo el siguiente error para el plugin de ubicación

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' falló con el retorno #<Process::Status: pid 449 exit 1>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migra
te'"]}
bootstrap falló con el código de salida 1
** FALLÓ EL ARRANQUE ** por favor desplácese hacia arriba y busque mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.

Por favor, asesórenme.

Mira si puedes averiguar qué migración falló.

2 Me gusta

en la publicación original, como mencioné
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate’ failed with return #<Process::Status: pid 449 exit 1>

Y más arriba en los registros, imprime las migraciones a medida que se realizan, por lo que necesita encontrar la que causó el problema.

2 Me gusta

oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
Versión de Redis=7.0.15, bits=64, commit=00000000, modificado=0, pid=447, recién iniciado
Configuración cargada

  • reloj monotónico: POSIX clock_gettime
    Advertencia: No se pudo crear el socket de escucha TCP del servidor *:6379: bind: Dirección ya en uso
    Fallo al escuchar en el puerto 6379 (TCP), abortando.

cd /var/www/discourse & & su discourse -c bundle exec rake db:migrate rake abortado!
OpenSSL::SSL::SSLError: SSL_connect devuelto=1 errno=0 peeraddr=xx.xx.xx.xx:443 state=error: eof inesperado al leer (OpenSSL::S
SL::SSLError)

Tu error es la línea del plugin de ubicación

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

Elimina el “.git” como en mi línea anterior.

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

No hay “.git” en el enlace de github de los plugins. La primera línea para docker tiene un “.git”. Los plugins son solo direcciones de enlace.

Si te desplazas hacia arriba en el registro, deberías ver algún tipo de error relacionado con la línea del plugin de ubicaciones. El error que publicaste, lo obtengo, pero no afecta la reconstrucción.

Esto no afectará nada: ambos te dan el mismo resultado.

4 Me gusta

No estaba al tanto. Solo estaba comparando las líneas de mi instancia de app.yml y noté que solo la línea de docker tenía la extensión “.git” y recordé las advertencias sobre lo sensibles que son estos diseños de archivos.

Gracias por la aclaración.

1 me gusta

Si esa es una copia 1:1 de app.yml, entonces las líneas de git comienzan en el lugar equivocado. - debería estar debajo de d.

cmd:
  - git...
3 Me gusta

entonces mi pregunta es cómo el resto de los complementos con .git en la URL funcionan bien. Ejemplo: los complementos de calendario y noticias funcionaron bien con .git, que es la forma en que normalmente aplicamos el comando git. ¿Puedes explicar un poco la diferencia que hace .git?

Puedo ver que la migración falla y también muestra un problema relacionado con el puerto, ¿no estoy seguro de por qué?

[quote=“Rakeshshelarnec, post:10, topic:347278, full:true, username:rakeshshelarnec”]
entonces mi pregunta es cómo funcionan bien los demás complementos con .git en la URL. Ejemplo: los complementos de calendario y noticias funcionaron bien con .git, que es la forma en que normalmente aplicamos el comando git. ¿Puedes explicar un poco por qué .git marca la diferencia?
[/quote]Si viste la respuesta de @supermathie a la mía. Me equivoqué. Me basé en la configuración de mi app.yml. Aparentemente, cualquiera de los dos formatos está bien.

No te preocupes por el error de puerto anterior que publicaste, ya que yo también los recibo y se reconstruye bien. Intenta eliminar el complemento de ubicaciones y reconstruye para ver si aún falla.

Desplázate hacia arriba si falla y captura una buena parte de la salida anterior al mensaje de fallo final. Debería haber, si es un problema de instalación de un complemento o quizás algo más, mensajes de error.

Es posible que al editar el archivo app.yml hayas insertado un espacio o algo. Una buena práctica es, antes de cambiar el archivo app.yml, capturar el contenido anterior al cambio para que, si falla, puedas comparar el antiguo con el nuevo. Si es necesario, línea por línea.

Normalmente observo cómo se reconstruye cada vez y me he acostumbrado a algunos de los mensajes de error/advertencia comunes que no parecen afectar la reconstrucción.

Tuve un fallo hace bastante tiempo que estaba relacionado con un complemento, pero se debió, en mi caso en ese momento, a que me perdí la actualización de que Chat se había fusionado con el núcleo.

La gente aquí necesitará ver más del archivo de registro de reconstrucción para ayudar a identificar dónde está fallando.

Ejecutar discourse-doctor como sugiere el resultado fallido también podría ayudar. Pero en mi experiencia, normalmente desplazarme hacia arriba ha sido mi mejor recurso.

También podrías copiar la sección inferior o todo tu app.yml y pegarlo aquí. Solo asegúrate de editar las cosas sensibles como las líneas de tu proveedor de correo, la información de MaxMind. Aunque sospechas del área de complementos, así que… incluso copiar solo desde la sección inferior de $home hacia arriba podría dar algunas ideas.

1 me gusta

Puedo ver esta línea también y confirmo que mi segunda VM tiene el mismo problema solo con los plugins de ubicación.
Causado por:
OpenSSL::SSL::SSLError: SSL_connect devuelto=1 errno=0 peeraddr=184.104.226.109:443 state=error: eof inesperado al leer (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 me gusta

¿Puedes reconstruir si eliminas el plugin de ubicación de app.yml?

¿Verificaste la indentación de tu archivo, como se mencionó aquí?

1 me gusta

todo funciona bien excepto la ubicación

2 Me gusta

Creo que Robert revisará los problemas del plugin de ubicación pronto. Noté un error con la última versión de Discourse en una PR para corregir una depreciación, y él dijo que lo revisaría muy pronto.

3 Me gusta

Oh, gracias por esta información y espero recibir una notificación una vez que resolvamos esto.

Muchas gracias.

3 Me gusta

Considere publicar en Marketplace si desea que esto se revise con prioridad y tiene presupuesto, pero parece ser un problema de versión/compatibilidad de gem de alguna manera.

4 Me gusta

pero la semana pasada agregué los mismos complementos en Docker 24.0.x y está funcionando y aquí está Docker 27.0.x, esa es la única diferencia

Ese plugin de noticias también está roto.

3 Me gusta