Всем привет! Я новичок в Discourse и хотел бы спросить: после успешного развёртывания Discourse в разделе администрирования я вижу доступную версию для обновления. Я обнаружил два способа обновления:
Через SSH, перейдя в директорию Discourse, выполнить команду ./launcher rebuild app для обновления.
Через панель администратора Discourse: Администратор → Обновить Discourse → Обновить.
В чём разница между этими двумя методами? Какой из них предпочтительнее?
Оба хороши и (на мой взгляд) по сути делают одно и то же. Единственное предостережение: иногда обновление через интерфейс не срабатывает, и тогда требуется пересборка через командную строку. Примером этого может служить ситуация, когда требовалось обновить версию базы данных.
Итак… сделайте резервную копию, используйте онлайн-административный интерфейс, но будьте готовы при необходимости перейти к командной строке.
Однажды я обновил систему через админ-панель, и после этого пропали вложения изображений. Их удалось восстановить только с помощью функции recover. Я так и не понял, в чём была причина, поэтому с тех пор использую только обновление через rebuild.
Я обновляю только через SSH, но оба способа должны работать для обновления Discourse. Однако Docker следует обновлять из командной строки (обновления происходят реже).
Зависит от того, какой сайт я обновляю, и от того, когда это наиболее удобно. На загруженном производственном форуме я обычно обновляю/пересобираю раз в неделю, но делаю это и раньше, если знаю, что конкретное обновление содержит нужный мне исправление, или если мне необходимо внести изменения в app.yml (например, установить плагин). Вам, вероятно, не нужно обновляться так часто. На моей тестовой среде я пересобираю, по крайней мере, раз в два дня.
Docker
Я обновляюсь сразу, как только это удобно, после выхода нового обновления.