Guardar solo la configuración

Según el enlace hay interés pero han pasado varios años y no sé si lo implementaron o no.

Un escenario muy útil para esto es configurar un servidor VPS con la configuración exacta del servidor de producción, y este VPS clonado sería únicamente para desarrollo. De esta manera, puedo trabajar de manera más efectiva con mi equipo de desarrolladores.

4 Me gusta

Mmm… ¿viste la solución que publicó @pfaffman?

1 me gusta

No es una solución nativa, y el repositorio deja claro que podría fallar.

Puede utilizar las Operaciones Masivas Administrativas (enlace desde el README):

2 Me gusta

Necesitas mucho más que solo la configuración para ver que esas cosas funcionan. ¿Por qué no restaurar la base de datos de producción en el entorno de prueba (staging)? Consulta Configurar un servidor de prueba (staging).

3 Me gusta

Una pregunta: ¿eso también clona las credenciales y el contenido del foro? Porque obviamente los desarrolladores no necesitan eso, solo la configuración básica para desarrollar los complementos. No quiero que tengan acceso a las cuentas de mis usuarios, y mucho menos a las cuentas de Administrador.

Sí, clona absolutamente todo. Si tienes desarrolladores en los que no confías, entonces podría no ser lo mejor. Personalmente, ¡yo contrataría desarrolladores de confianza!

Tal como está, necesitarías comprometerte a clonar la estructura que necesitas allí (por ejemplo, configuraciones, categorías, grupos, complementos, etc.) y o bien mantenerla sincronizada manualmente, volver a clonarla cuando sea necesario, o desarrollar tu propia solución para automatizarlo.

¡Buena suerte!

1 me gusta

Entonces tal vez la estructura de exportación sea cercana a lo que necesitas. No exporta contenido

3 Me gusta

¿Puedo elegir qué exportar, verdad? ¿Cuáles son todas las opciones disponibles? “etc.” no ayuda mucho.

No.

No hay etc.

Exporta

  • configuración
  • usuarios administradores
  • grupos
  • categorías
  • etiquetas/grupos de etiquetas
  • temas/componentes de temas/configuración

Incluso si confías en tus desarrolladores, puede haber regulaciones (como el RGPD) que prohíban compartir información personal con personas fuera de cierta jurisdicción o que requieran que minimices la cantidad de información personal que se copia a otro sistema. Además, un servidor de desarrollo o de staging ejecuta software no probado que podría contener problemas de seguridad.

Siempre ejecutamos algo como esto en el servidor de staging inmediatamente después de restaurar la copia de seguridad de producción, lo que anonimiza a todos los usuarios excepto al personal y a los del grupo testusers.

keep_groups = Group.where(name: ['staff', 'testusers']).pluck(:id)
acting_user = User.find(-1)
User.all.each do |u|
  next if u.in_any_groups? keep_groups
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end
1 me gusta