Я использую последнюю версию Discourse и пробовал устанавливать корректные плагины в директорию /var/discourse/plugins. Я копирую туда папки с плагинами, но они, очевидно, никогда не устанавливаются; я всегда использую ./launcher rebuild app. Единственный способ, которым я могу их установить, — это через app.yml.
Я хочу установить их в офлайн-режиме для тестирования. Мне не хочется открывать репозиторий на GitHub для установки тестового плагина, это кажется мне контрпродуктивным.
Возможно, стоит настроить среду разработки вместо продакшн-сайта? Вы можете клонировать репозитории напрямую в директорию plugins. Кроме того, это не повлияет на данные вашего продакшн-сайта и не вызовет простоя для ваших пользователей при пересборке. См. Discourse Meta - руководства по установке для разработки по всем темам о том, как настроить среду разработки.
Блокируется ли установка локальных плагинов в производственной среде? Можно ли преобразовать производственную среду в среду разработки, не переделывая всё заново?
И почему принято делать исходный код публичным при установке плагинов в продакшн? Это значит, что Discourse не поддерживает приватные плагины? Даже репозиторий с токеном всё равно считается публичным плагином на платформе, где он размещён (GitHub, GitLab и т. д.).
Частный репозиторий GitHub/GitLab остаётся частным. Токен — это просто пароль, который позволяет серверу клонировать его. Никто другой не может увидеть код. Он остаётся частным.
Используйте локальную среду разработки для тестирования плагинов. dev-install
В противном случае вам придется каждый раз при изменении плагинов выполнять полную пересборку продакшн-версии, что является пустой тратой времени, особенно учитывая, что команда недавно сократила время сборки development-версий до нескольких секунд.
Склонируйте плагины в ~/code или аналогичную директорию, а затем создайте для них символические ссылки из каталога плагинов.