Configuración de variables de entorno para pruebas y desarrollo

Estoy pensando en agregar el gem dotenv (GitHub - bkeepers/dotenv: A Ruby gem to load environment variables from `.env`. · GitHub) a mi plugin para fines de pruebas y desarrollo. Esto me permitirá configurar fácilmente mis variables de entorno según el entorno.

Me pregunto si estoy pasando por alto algo y si existe una mejor manera de lograr esto.

¿Qué estás intentando cargar? Puedes establecer

DISCOURSE_SETTING_NAME=valor

para todas las SiteSettings.

¿Eso te ayudaría?

Desafortunadamente, no. Estoy trabajando en un plugin privado y necesito establecer una variable de entorno para datos sensibles para no incluirlos en el control de versiones.

No hay problema en establecer esa variable de entorno en el servidor de producción, pero quiero poder cargarla en el entorno de prueba al ejecutar pruebas, por ejemplo. Podría especificarla en línea, pero idealmente buscaría una solución más escalable.

La razón por la que publiqué es porque agregar ese gem me parece incorrecto; habría asumido que Discourse ya tendría una solución para este problema.

Entonces, creo que puedes establecer variables de entorno como

 DISCOURSE_MI_PLUG_IN_CONFIGURACIÓN

Para las pruebas, creo que podrías establecer GlobalSetting.my_plugin_setting en la especificación, pero eso es principalmente una suposición arriesgada.

Gracias, echaré un vistazo a GlobalSetting

Puedes establecer ENV['yourkey'] = 'yourval' en tu plugin y funcionará. Lo usé hoy mismo para probar mi código.

Además, puedes instalar gems específicas para modos. Aún no lo he probado yo mismo, pero aquí tienes un ejemplo. discourse-assign/Gemfile at main · discourse/discourse-assign · GitHub