Я не считаю это возможным из-за того, как плагины интегрируются в ресурсы приложения — этот процесс выполняется на этапе сборки, особенно учитывая, что некоторые элементы плагинов влияют на бэкенд.
Вот несколько способов смягчить ситуацию:
По возможности используйте компоненты темы для кастомизации. Их можно заменять и обновлять онлайн.
Определите набор плагинов и придерживайтесь его. Зачем так часто менять конфигурацию?
Если вам нужно просто обновить плагин, воспользуйтесь инструментом онлайн-обновления.
Планируйте добавление новых плагинов на момент, когда вы вынуждены выполнять пересборку из-за других фундаментальных изменений в ядре приложения.
Единственная реальная рекомендация, которую мы можем дать здесь, — это планировать заранее. Никакой замены этому нет.
Используйте небольшой экземпляр для тестирования и утверждения любых изменений плагинов, которые вы хотите внести, а затем планируйте временное окно каждую неделю или месяц для применения всех этих изменений на вашем рабочем сайте.
Таким образом, ваши пользователи не пострадают от таких действий, и вы значительно снизите риск дополнительного простоя из-за проблем совместимости.
При настройке с несколькими веб-контейнерами простои во время пересборки можно наверняка избежать, пересобирая и разворачивая веб-контейнеры по одному.
Извините, @Faizan_Zahid, но заголовок можно было бы сформулировать лучше. Возможно, вы имели в виду «плагины», а не «Discourse». Я подумал, что кто-то просит удалить Discourse с сервера
Вы хотите иметь возможность устанавливать/удалять плагины без необходимости пересборки. К сожалению, похоже, это невозможно
В таком случае вам нужно минимизировать время простоя при пересборке. Эта тема уже обсуждалась недавно: Помощь с настройкой «без простоя» (хотя обсуждение не пошло туда, куда, вероятно, следовало бы).
Нам, возможно, потребуется хорошее руководство по настройке установки с двумя веб-контейнерами и способу её использования. Это кажется наиболее эффективным решением (и, вероятно, самым сложным). У меня недостаточно знаний, чтобы составить такое руководство, хотя я бы хотел. Есть ли кто-то, кто готов это сделать?
Я планирую взять на себя задачу создания простых руководств для различных продвинутых сценариев использования, включая вышеупомянутые. Это уже в очереди на реализацию
Хотя он всё ещё работает на данный момент, насколько мне известно, Procourse прекратил обслуживание клиентов. Я бы очень не рекомендовал его без чёткого плана поддержки и развития.
Я не знал об этом. Хотя, если структура Discourse не изменится значительно, всё должно продолжать работать. Подчеркиваю: должно. Интересно, разрешит ли автор кому-то другому взять на себя проект, если он уже ушёл.
Со временем все плагины требуют обновления. Даже незначительные изменения иногда вызывают проблемы у активно разрабатываемых плагинов для Discourse. Предсказать это невозможно, и, безусловно, на это нельзя полагаться.
Плагин, который сам управляет установкой других плагинов и при этом не поддерживается, — это очень рискованное решение. Полагаться на оптимизм при его использовании кажется очень плохой идеей.
Я работал всего с двумя клиентами, которые выразили интерес к его использованию. Как только стало ясно, что Procourse больше не существует, оба были готовы мигрировать на другую платформу.
Это сводится к тому, что разработчики должны рассмотреть возможность внедрения подобного функционала непосредственно в Discourse, даже если сделать его переключаемым опцией в командной строке, если это может быть связано с вопросами безопасности.
Я ознакомился с проблемой мультисайтовости. Можно просто добавить проверку и разрешать использование только в том случае, если это не мультисайт, развернутый с помощью Docker.
Так что да, возможно, потребуется небольшая доработка. Однако это то, что им стоит рассмотреть для установок без мультисайтовости.
Даже если это будет принято в качестве официального плагина для контейнеров с одним сайтом.
Просто то, что должно быть в плане разработки. Иногда это не сильно отличается от использования графического интерфейса в Linux для установки по сравнению с командной строкой; однако есть примеры, где это работает хорошо.
При использовании неофициальных установок всегда существует риск сбоев. Например, была бы полезна возможность включать или отключать плагины, такие как темы или компоненты тем.
Недавно у нас возникла проблема, когда, похоже, иконки категорий сломали что-то. Даже при использовании базовой темы без дополнительных CSS-модификаций или компонентов. Потребовалось некоторое время, чтобы найти причину.
Странно то, что это работает на нашем отдельном тестовом экземпляре, который запускает последнюю бета-версию Discourse.