Neuerstellung schlägt fehl mit git reset --hard origin tests-passed fehl mit Rückgabe

Ich führe Discourse in einem Docker-Container aus, und beim Versuch, mit dem Launcher die app.yml neu zu erstellen, erhalte ich folgenden Fehler:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && git reset --hard origin tests-passed failed with return #<Process::Status: pid 257 exit 128>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"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
** FAILED TO BOOTSTRAP ** bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen; es kann mehr als eine geben.
./discourse-doctor kann helfen, das Problem zu diagnostizieren.
==================== END REBUILD LOG ====================

Es sieht nach einem Git-Fehler im aktuellen Zustand des offiziellen Discourse-Repositories auf GitHub aus, aber ich kenne mich mit Docker oder Git nicht ausreichend aus, um das mit Sicherheit zu sagen. Ich habe versucht, den vorgeschlagenen Befehl ./discourse-doctor auszuführen, doch dabei wurde derselbe Fehler erneut ausgegeben – das hat also nicht geholfen.

Ok, ja also… es lag irgendwas am Discourse-Repo, weil ich nichts gemacht habe… ich habe einfach den Rebuild erneut ausgeführt, und jetzt funktioniert es wieder.

  1. Es ist beängstigend, dass ein kaputtes Repo-Status deine gesamte Einrichtung lahmlegen kann.

  2. Auch beängstigend: Es gibt keine Rollback-Wiederherstellung, wenn Remote-Repos nicht mitspielen… das ganze Forum lief auf 502 Bad Gateway, bis es sich erfolgreich selbst neu aufgebaut hat. Vielleicht gibt es in Docker etwas wie einen Image-Verlauf oder Ähnliches, auf das man zurückgreifen kann… ich weiß es nicht… aber es scheint, als wäre Rollback-Unterstützung ziemlich wichtig, wenn der Unterschied zwischen einem laufenden und einem nicht laufenden Standort komplett davon abhängt, dass die GitHub-Repos korrekt sortiert sind. Sicher, man könnte argumentieren, dass es meine Aufgabe sei, vor einem Rebuild einen Snapshot des Servers zu erstellen… das könnte man wohl sagen.

Wenn der Neuaufbau fehlschlägt, können Sie in der Regel

./launcher start app

ausführen.

Danke, Jay,

Der Container wurde gerade gestartet. Ich konnte mit docker top sehen, dass Nginx innerhalb des Containers läuft, und genau diese Instanz hat den HTTP-Fehler 502 „Bad Gateway

Ich meine, dass du bei einem fehlgeschlagenen Rebuild normalerweise den alten Container mit dem Startbefehl starten kannst.

Es dauert eine Weile, bis Rails hochfährt, daher ist der 502-Fehler für ein oder zwei Minuten zu erwarten.