La reconstrucción falla con git reset --hard origin tests-passed falló con retorno

Estoy ejecutando Discourse en un contenedor Docker y, cuando intento usar el launcher para reconstruir app.yml, obtengo este error:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && git reset --hard origin tests-passed falló con el estado de retorno #<Process::Status: pid 257 exit 128>
Ubicación del error: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "hook"=>"code", "cmd"=>["git remote set-branches --add origin master", "git remote set-branches origin $version", "git fetch --depth 1 origin $version", "git checkout $version", "git reset --hard origin $version", "git clean -f", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "find public/plugins/ -maxdepth 1 -xtype l -delete"]}
a84cc388fbc4b16307c2081e17b03c5eee578e1155fa1e057147601119d89a34
** FALLÓ EL INICIO ** por favor, desplázate hacia arriba y busca mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
==================== FIN DEL REGISTRO DE RECONSTRUCCIÓN ====================

Parece ser un error de git relacionado con el estado actual del repositorio oficial de Discourse en GitHub, pero no sé lo suficiente sobre Docker o git para estar seguro. Intenté ejecutar ./discourse-doctor como se sugirió, pero eso resultó en la repetición del mismo problema… sin ayuda.

vale, sí… era algo que estaba pasando con el repositorio de Discourse porque yo no hice nada… solo ejecuté la reconstrucción de nuevo y ahora funciona..

  1. da miedo que un estado de repositorio jodido pueda dejar inutilizable toda tu configuración

  2. también da miedo que no haya recuperación por reversión cuando los repositorios remotos no cooperan… todo el foro daba error 502 Bad Gateway hasta que se reconstruyó correctamente. Quizás haya algo en Docker, como un historial de imágenes o algo así, que se pueda revertir… no lo sé… pero parece que el soporte para reversión sería algo bastante importante si la diferencia entre que tu sitio funcione o no depende totalmente de que los repositorios de GitHub estén correctamente ordenados. Claro, uno podría argumentar que debería ser mi responsabilidad hacer una instantánea del servidor antes de intentar una reconstrucción… supongo que uno podría argumentar eso.

Si la reconstrucción falla, por lo general puedes

./launcher start app

Gracias, Jay,

El contenedor estaba iniciando… Podía usar docker top para ver que nginx se ejecutaba dentro del contenedor, y esa instancia era la que generaba el error HTTP 502 “bad gateway”. Lo confirmé deteniendo el contenedor y obteniendo luego un error de connection refused, lo que indicaba que el contenedor estaba activo… pero Discourse no se ejecutaba correctamente.

¿Estás diciendo que, al usar la utilidad launcher, debería iniciarse la aplicación de Discourse dentro del contenedor? ¿O eso tendría que ejecutarse desde dentro del propio contenedor?

Disculpa mi ignorancia en este tema.

Estoy diciendo que si la reconstrucción falla, generalmente puedes iniciar el contenedor antiguo con el comando start.

A Rails le toma un tiempo arrancar, así que el error 502 es esperado durante un minuto o dos.