Hay varias formas, pero dependen de la arquitectura de la aplicación que tenga.
Por ejemplo:
- Usar Puppet / Chef para asegurarse de que el entorno de prueba y el entorno de producción sean EXACTAMENTE iguales (las mismas versiones para SO, servidores, bibliotecas, etc.).
- Uso de máquinas virtuales compiladas (como el punto 1). Ver vagabundo
O mi favorito: ¡Usa Docker!
- ¿Cuáles son las buenas maneras de promocionar un número de teléfono comercial?
- ¿Cómo manejan los hablantes de alemán los obstáculos lingüísticos presentados por la compañía / servicio Uber, dado que la palabra también es una preposición y prefijo común?
- Dado que Twitter posee más partes del ecosistema que se construyó a su alrededor, ¿cuáles son algunas estrategias que los proveedores externos pueden emplear para "agregar valor" y permanecer en el negocio?
- ¿Fue Bill Gates un buen CEO para Microsoft y por qué?
- El mercado global de energía solar tiene un potencial total de $ 40t. ¿Existe alguna posibilidad de que los líderes empresariales en este sector presionen las conversaciones sobre cambio climático?
Con Docker, puede hornear todas las dependencias y el código dentro de una imagen, y desplegar una copia literal de esta imagen en su entorno local, de prueba o de producción.
El único cambio que haría en cada entorno es la configuración de la aplicación, normalmente a través de variables de entorno.
Tener una aplicación bien diseñada y bien implementada también es muy importante. Debes apegarte a un conjunto de reglas de desarrollo que permitirán que la aplicación crezca y no explote en el proceso, por eso te recomiendo que leas la aplicación (realmente breve) The Twelve-Factor App. Siga esas reglas y se encontrará escribiendo aplicaciones mucho más robustas que si trata de descubrirlo usted mismo.
¡Te deseo éxito y no dudes en hacer más preguntas en los comentarios si tienes más dudas!