5

Tengo un pequeño proyecto en marcha, en el que estoy experimentando con AppHarbor. Para aquellos de ustedes que no están familiarizados con él, AppHarbor le permite construir e implementar automáticamente proyectos ASP.NET MVC en la nube, al agregar un control remoto Git específico y luego enviar su proyecto/fuente a ese control remoto.Al trabajar con AppHarbor, ¿cómo puedo administrar adecuadamente los archivos de desarrollo y configuración en vivo?

La forma en que estoy trabajando actualmente es que tendré un repositorio maestro de Git en GitHub, que clono en mi máquina de desarrollo. Luego agrego el control remoto AppHarbor a mi copia de trabajo. Haré mis cambios, enviaré a GitHub cada pocos commits para mantenerlos a salvo, y cuando esté listo para implementar una nueva versión, puedo simplemente subirlo a AppHarbor.

Si bien este es un gran flujo de trabajo, me plantea un nuevo problema con respecto a los archivos de configuración. Lo que solía hacer es excluir Web.config del control de código fuente y, en su lugar, registrar un archivo llamado Web.config.example, que contenía todas las claves correctas pero con valores ficticios. Simplemente haría una copia de ese archivo en mi máquina de desarrollo, eliminaría la extensión .example y edita los valores que se ajusten.

Cuando se trataba de despliegue, que crearía otra copia llamada Web.config.live, sustituir los valores con los correctos para el servidor, lo cargue y retire la extensión .live.

El problema que tengo ahora es que si es Web.configno bajo control de origen, cuando empujo a AppHarbor, el proyecto no va a funcionar (porque se carece de la información de configuración adecuada). Sin embargo, no quiero que la cadena de conexión en vivo se pueda ver públicamente en GitHub, lo cual sería si alguna vez presioné Web.config en el repositorio principal.

¿Cuáles son mis opciones aquí? Estaría agradecido por cualquier consejo.

Respuesta

9

AppHarbor admite el reemplazo de las variables de configuración en el despliegue para evitar el problema de asignar nombres de usuario y contraseñas al control de origen (entre otros usos). Es documented in the knowledge-base.

+0

Gracias, eso es útil, aunque todavía estoy un poco confundido acerca de cómo exactamente usaría esto. De la manera en que lo entiendo, agregaría un 'Web.config' que contiene la cadena de conexión que uso en mi máquina _development_ a mi repositorio de Git, y cuando presione a AppHarbor, automáticamente reemplazará esa cadena de conexión con la cadena de conexión en vivo (como siempre y cuando se identifiquen de forma idéntica). ¿Es esto correcto? –

+0

No importa, lo tengo funcionando ahora. ¡Gracias! –

Cuestiones relacionadas