Hallo,
ich habe Discourse auf zwei separaten Azure-VMs (Staging und Produktion) installiert. Gibt es eine Möglichkeit, Änderungen vom Staging-Discourse automatisch auf das Produktions-Discourse zu übertragen?
UI-Änderungen (Thema) werden in einem Git-Repository verwaltet, sodass die Übertragung in die Produktion kein Problem darstellt. Die Hauptsorge liegt in der Automatisierung der Bereitstellung von Discourse-Einstellungen und -Konfigurationen in der Produktionsumgebung. Wie können wir das erreichen?
Sie können den Staging-Container in ein Repository pushen und ihn dann in der Produktion starten. Mit ./launcher start-cmd app erhalten Sie die notwendigen Dinge, um den Container in Docker hochzufahren.
Sie müssen auch die Datenbank migrieren (vielleicht mit SKIP_POST_DEPLOYMENT_MIGRATIONS und dann erneut, wenn der neue Container gestartet wurde, wenn Sie ein echtes Zero Downtime wünschen) und Assets vorkompilieren.
Einige Einstellungen befinden sich in der Datenbank. Andere können mit Umgebungsvariablen wie DISCOURSE_SETTING_NAME gesetzt werden (z. B. DISCOURSE_TITLE='meine großartige Community').
Wenn Sie kein Hobbyist sind, empfehle ich zwei Container, da Sie die Datenbank herunterfahren müssen, wenn Sie einen neuen Container starten, sodass Sie keine Ausfallzeit haben können. Es würde aber auch mit einem einzelnen Container funktionieren.