Recompilação falha com git reset --hard origin tests-passed falhou com retorno

Estou executando o Discourse em um contêiner Docker e, ao tentar usar o launcher para reconstruir o app.yml, estou recebendo esta falha:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && git reset --hard origin tests-passed failed with return #<Process::Status: pid 257 exit 128>
Localização da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed com os 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
** FALHA NO BOOTSTRAP ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
==================== FIM DO LOG DE RECONSTRUÇÃO ====================

Parece ser um erro do git relacionado ao estado atual do repositório oficial do Discourse no GitHub, mas não sei o suficiente sobre Docker ou Git para ter certeza. Tentei executar o ./discourse-doctor conforme sugerido, mas isso resultou na mesma falha sendo repetida… sem ajuda.

Ok, então sim… era algo acontecendo com o repositório do Discourse, porque eu não fiz nada… apenas executei o rebuild novamente e agora está funcionando..

  1. é assustador que um status de repositório comprometido possa quebrar toda a sua configuração

  2. também é assustador não haver recuperação por rollback quando repositórios remotos não estão cooperando… todo o fórum ficou com erro 502 (Bad Gateway) até que ele se reconstruísse com sucesso. Talvez haja algo no Docker, como um histórico de imagens ou algo assim, que possa ser revertido… não sei… mas parece que o suporte a rollback seria algo bastante importante, já que a diferença entre o seu site estar funcionando ou não depende totalmente de os repositórios do GitHub estarem corretamente organizados. Claro, alguém poderia argumentar que deveria ser minha responsabilidade fazer um snapshot do servidor antes de tentar um rebuild… alguém poderia argumentar isso, suponho.

Se a reconstrução falhar, você geralmente pode

./launcher start app

Obrigado, Jay,

O container estava iniciando… Consegui usar o docker top para ver o nginx rodando dentro do container, e foi essa instância que gerou o erro HTTP 502 “bad gateway”. Confirmei isso ao parar o container e receber então o erro connection refused, o que indica que o container estava rodando, mas o Discourse não estava funcionando corretamente.

Você está dizendo que, ao usar o utilitário launcher, o aplicativo Discourse deve ser iniciado dentro do container? Ou isso precisaria ser executado de dentro do próprio container?

Desculpe pela minha ignorância aqui.

Estou dizendo que, se a reconstrução falhar, você geralmente pode iniciar o antigo contêiner com o comando start.

Leva algum tempo para o Rails iniciar, então o erro 502 é esperado por um ou dois minutos.