Pregunta

Trabajo en Ubuntu desarrollando una aplicación Rails para mi iglesia. Usamos un VPS alojado también en Ubuntu. Yo uso Capistrano para implementar actualizaciones periódicas. Sin embargo, inevitablemente, una aplicación que funciona en mi casilla local, siempre tiene algunos problemas después de la implementación en el host, probablemente porque los entornos difieren.

¿Cuáles son algunas prácticas / técnicas para facilitar la implementación de modo que lo que se prueba y funciona localmente sea tan probable que funcione en el host? (Ya adopté el enfoque de "vendedor todo").

Mi primer pensamiento es desarrollar / trabajar dentro de una imagen VPS local que eventualmente se implementará (una especie de dispositivo virtual). ¿Alguien está haciendo esto?

¿Qué hacen los demás para minimizar los problemas que resultan de las diferencias ambientales? ¿Qué hosts ofrecen las mejores opciones de implementación?

¿Fue útil?

Solución

En la medida de lo posible, asegúrese de ejecutar exactamente la misma versión de Ruby, la misma versión exacta de Rails, la misma configuración de base de datos y exactamente lo mismo. Cuantas más diferencias haya entre su configuración en vivo y su configuración de desarrollo, más problemas encontrará.

Otros consejos

Intente configurar un entorno de escenario que imite al máximo su producción. De hecho, uso algunos de mis servidores para crear un subdominio (staged.mydomain.com) para probar si las gemas están en la versión correcta y similares.

También utilizo un usuario de SOLO LECTURA para probar con datos reales y en vivo en esta etapa de instalación.

Este enfoque nos ayuda a asegurarnos de que la nueva implementación funcionará bien, resolviendo los problemas de antemano.

Sería bueno saber con qué tipo de problemas lidias con frecuencia para tratar de encontrar una manera de disminuir su apariencia.

Bueno, en realidad respondiste tu propia pregunta.

Si no puede implementar en un entorno provisional en la caja de producción, debe intentar reflejarlo exactamente en su computadora. Luego puede probarlo a través de programas como VMWare, etc.

En mi experiencia, esto solo es necesario en situaciones realmente críticas. Si sus Ruby / Rails (versiones de gemas que puede especificar en su entorno) son las mismas, no debería tener problemas para implementar una aplicación Rails.

De hecho, sería bueno saber qué tipo de problemas está enfrentando para que podamos ofrecerle una solución más adecuada.

Tenga en cuenta que la mayoría de los desarrolladores de Rails ejecutan OS X y se implementan en un servidor UNIX y nunca tenemos ningún tipo de problemas debido a esto.

Las versiones de raby, rails, mysql, etc. deberían ser las mismas, por supuesto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top