Warum passiert das ständig?

image

Jedes Mal, wenn ich das Forum meines Freundes @techwithanirudh aktualisiere, kann ich alles außer Discourse oder Discourse-bezogenen Funktionen aktualisieren. Ich weiß nicht, warum das so ist. Dies führt zu Dingen wie einem veralteten Forum und Ärger.

Kann ich eine Erklärung bekommen?

Ist das etwas, das er in seiner SSH oder Codebasis einrichtet, die andere Administratoren nicht aktualisieren können? Discourse-basierte Elemente können auch nicht andere Administratoren nachahmen, was sich auch falsch anfühlt.

Docker_manager ist das Werkzeug, das Upgrades für Discourse verwaltet. Es muss zuerst aktualisiert werden, damit es weiß, wie die neuere Discourse-Version ordnungsgemäß aktualisiert wird.

Klicken Sie auf Update bei Docker_manager. Sobald dies abgeschlossen ist, sollte es Ihnen ermöglichen, auf Update bei Discourse zu klicken.

5 „Gefällt mir“

Ich bin mir nicht sicher, was Sie hier verlangen, aber meine bevorzugte Methode zur Aktualisierung ist die Verwendung von launcher in /var/discourse

Wenn Sie sich auf tests-passed befinden, gibt es oft nach kurzer Zeit Commits, da sie gerne schnell iterieren. Dies ist nicht unbedingt “veraltet”.

2 „Gefällt mir“

Adubs, ich habe keinen Zugriff auf den Code des Forums, und Keegan, ich werde den Manager ausprobieren und dir Bescheid geben.

1 „Gefällt mir“

Ok @keegan das scheint funktioniert zu haben, es funktioniert jetzt, aber warum kann ich es nicht einfach auf einmal aktualisieren?

1 „Gefällt mir“

Sie können, wenn Sie den Launcher verwenden. Ich würde den Zugriff auf SSH anfordern.

Da der Docker-Manager derjenige ist, der Discourse aktualisiert

1 „Gefällt mir“

Soweit ich weiß, liegt das daran, dass die neuere Version von Discourse zuerst den Docker Manager aktualisieren muss. Betrachten Sie es als eine Abhängigkeit.

Das ergibt mehr Sinn, Nate Adubs, könnten Sie das bitte klarstellen?

Ich glaube, ein Neuaufbau über die CLI mit ./launcher rebuild app würde automatisch die neuesten Versionen von allem von Github herunterladen, während man dies über die Benutzeroberfläche manuell tun muss.

Ich denke jedoch, dass @ice.d einen guten Punkt hat, dass es umständlich ist, zweimal aktualisieren zu müssen, wenn docker_manager ein Update benötigt. Sie müssen zuerst docker_manager aktualisieren und dann warten, bis dies abgeschlossen ist, und dann Discourse (oder Alle aktualisieren) aktualisieren, um Discourse und alle Plugins zu aktualisieren.

Das Aktualisieren von docker_manager dauert lange genug, dass ich oft mit dem Update beginne und dann weggehe, um etwas anderes zu tun, und mich dann später daran erinnere, zurückzukehren, um Discourse zu aktualisieren.

Es wäre eine nette Geste, wenn die Benutzeroberfläche in diesem Fall immer noch die Schaltfläche „Alle aktualisieren“ zulassen würde und einfach zuerst docker_manager aktualisieren und dann automatisch mit der Aktualisierung von Discourse fortfahren würde. Wenn das docker_manager-Update fehlschlägt, könnte der Vorgang unterbrochen werden.

3 „Gefällt mir“

Ich habe das früher getan, aber dann habe ich festgestellt, dass es bei der Aktualisierung über die Website viel weniger Ausfallzeiten gibt.

Das stimmt, wenn das Update erfolgreich ist. Aber wenn es fehlschlägt, und das wird es manchmal, dann haben Sie ein nicht funktionierendes Forum, bis Sie zur Kommandozeile gelangen können, um Dinge zu reparieren. Wenn Ihnen also Betriebszeit wichtig ist, sind Sie immer bereit, dies zu tun, wenn Sie versuchen, ein Update durchzuführen.

Und in jedem Fall sollten Sie ein vollständiges Backup erstellen und es herunterladen, bevor Sie ein Update versuchen. Wenn die Dinge sehr schief gehen, werden Sie es brauchen.

1 „Gefällt mir“

Hmm… würde dann eine Zwei-Container-Einrichtung hier helfen?

Ja, aber was würdest du mit sidekiq machen?

Nach meinem Verständnis können Sie mit einem Zwei-Container-Setup einen Befehlszeilen-Neustart mit minimaler Ausfallzeit durchführen. Ja, das macht einen Befehlszeilen-Neustart attraktiver.

2 „Gefällt mir“

Docker Manager unterstützt keine Zwei-Container-Einrichtung, nur zur Information.

3 „Gefällt mir“

Vielen Dank für Ihre Hilfe. Ich bin besorgt, muss ich nur sicherstellen, dass der Docker aktualisiert wird, um den Rest zu erledigen?

Das ist richtig. Führen Sie zuerst den Docker_manager aus. Das dauert auf meinem Server etwa 5 Minuten. Danach können Sie Discourse aktualisieren, Plugins aktualisieren oder „Alle aktualisieren“ auswählen.

1 „Gefällt mir“