Simplificando el process de desarrollo con ColdFusion

Soy muy nuevo en el desarrollo web. Actualmente tengo la siguiente configuration para desarrollo y testing:

  1. Un entorno de desarrollo local que incluye un repository git con el código que eventualmente entrará en producción.

  2. Un repository BitBucket que es el origin remoto para el repository git local.

  3. Instancias de AWS configuradas de forma similar al entorno de producción, incluidos ColdFusion, IIS y MS SQL. Esto también contiene un repository git con el repository BitBucket configurado como el control remoto de origin .

Mi ciclo de desarrollo actual es el siguiente:

  1. Haga cambios en mi máquina local, comprométase con git, y presione BitBucket.

  2. Ficha en una window de Escritorio remoto con una connection a la instancia de AWS y extracción desde BitBucket.

  3. Regrese a mi máquina local para ejecutar testings contra los cambios.

Esta mañana perdí dos horas porque olvidé el paso 2. Mis testings no mostraron el comportamiento esperado porque no me estaba ejecutando contra la versión más reciente de mi código. Por supuesto, aprendí que necesito verificar dos veces qué código está en el server antes de proceder con cualquier otra debugging. Al mismo time, simplificar toda la configuration ayudará a evitar estos problemas por completo.

Estoy buscando opciones que pueden ayudar aquí. Mis ideas hasta ahora son

  1. Instale un server ColdFusion local para que pueda probarlo directamente en mi máquina de desarrollo. Por lo que puedo decir, esto requiere comprar una licencia. Todavía no he encontrado una versión de desarrollo o comunidad del server ColdFusion. Aunque el desarrollo de ColdFusion es un requisito de nuestro cliente, es poco probable que la empresa para la que trabajo distribuya el dinero para el desarrollo del server. Esto también requerirá configurar IIS y MS SQL, lo que probablemente sea un dolor de cabeza.

  2. Configure BitBucket para enviar mis cambios a la instancia de AWS en lugar de la configuration actual. El problema es que comenzamos nuevas instancias de AWS todos los días, por lo que cambian las direcciones URL y las direcciones IP. Además, BitBucket necesitaría cnetworkingenciales para la instancia de AWS para impulsar los cambios. Finalmente, tendré que encontrar una forma de asegurarme de que la instancia de AWS tenga la twig actual desprotegida en su repository git. Si puedo resolver estos problemas, esto parece bueno porque puedo presionar BitBucket y no preocuparme por la versión contra la que estoy ejecutando testings.

  3. Agregue el repository en la instancia de AWS como un control remoto a mi repository local con git remote add . Tendré que hacer esto cada mañana cuando se inicie una nueva instancia, que no es un gran problema. Los problemas que veo aquí son que git se quejará si presiono a la twig actual. Incluso si encuentro una forma de evitarlo, ¿cómo me aseguro de que los cambios se desprotegen en la carpeta correcta donde IIS espera encontrarlos?

Me parece que el problema subyacente no es específico de las herramientas particulares que estoy usando, sino que forma parte del desarrollo web en general. ¿Cuáles son los enfoques comunes para hacer que el desarrollo sea lo más fluido posible?