Die Discourse-Instanz befindet sich hinter der GFW, daher verwenden wir einen SOCKS5-Proxy für Git. Wir haben einige Plugins installiert, sodass entweder das Neuerstellen oder das Bootstrapping der App diese Repositories immer wieder klont. Leider schlägt das Klonen regelmäßig mit einem Timeout fehl, sodass der gesamte Prozess von vorne beginnt, obwohl die aktuellste Codebasis bereits geklont wurde. Ich habe über 40 Versuche unternommen und etwa fünf Stunden verschwendet. Die letzte Hürde ist ein Yarn-Subprozess innerhalb des Containers, der dann normalerweise mit einem Timeout abbricht, was zu einem fehlgeschlagenen Upgrade führt.
Gibt es eine Möglichkeit, wie ich die app.yml strukturieren kann, damit zumindest der gesamte Klonprozess für Plugins nicht ausgelöst wird? Das Klonen in den Docker-Manager-Code und die Discourse-Codebasis hat eine Erfolgschance von 50/50, mit einer Erfolgsquote von etwa 1/3 für das anschließende Klonen. Ich weiß nicht, was den Fehler im Yarn-Subprozess verursacht, aber im Moment scheint es nicht möglich zu sein, Discourse mit den gegebenen Methoden wieder zum Laufen zu bringen.
Natürlich war ich dumm genug, launcher destroy app aufzurufen, da ich es manuell bootstrappen wollte, sodass ich nicht einmal launcher enter app ausführen kann, um zu versuchen, den Yarn-Befehl manuell auszuführen. Hat jemand Ideen? Vielen Dank für Ihre Beiträge.