Al trabajar con AppHarbor, ¿cómo puedo administrar adecuadamente los files de desarrollo y configuration en vivo?

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 build 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.

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

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

En lo que respecta al deployment, crearía otra copy llamada Web.config.live , replaceía los valores con los correctos para el server, lo .live y eliminaría la extensión .live .

El problema que tengo ahora es que si Web.config no está bajo control de fuente, cuando presiono para AppHarbor, el proyecto no funcionará (porque no tiene la información de configuration adecuada). Sin embargo, no quiero que la cadena de connection en vivo se vea públicamente en GitHub, lo que sería si alguna vez empujara Web.config al repository principal.

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

AppHarbor admite el reemploop de variables de configuration en la implementación para evitar el problema de la asignación de nombres de usuario y passwords al control de origen (entre otros usos). Está documentado en la base de conocimiento .