Estamos tratando de configurar un entorno de despliegue automatizado con Git/Github. Tenemos 3 ambientes diferentes; local, prueba y en vivo. Cuando agregamos una nueva función en local, primero cargamos archivos al servidor de prueba para probar la función recién creada. Si todo está bien, nosotros cargamos todos los archivos al servidor en vivo. Pero este proceso de "carga" no es una solución perfecta, ya que a veces olvidamos cargar algunos archivos. Por cierto, también tenemos aplicaciones móviles en iPhone y Android, por lo que los dispositivos móviles pueden ser el cuarto entorno para nosotros.Despliegue con Git/Github
Lo que tratamos de hacer es configurar un entorno de despliegue automatizado. Cuando asignamos una nueva característica al servidor de prueba, luego de probar esta nueva característica, queremos enviarla al servidor en vivo.
Puede haber muchas confirmaciones en el servidor de prueba, pero queremos enviar confirmaciones específicas al servidor activo. No pudimos encontrar cómo lidiar con 3-4 entornos y no confundir códigos. ¿Cómo impulsaremos los códigos correctos al servidor en vivo? ¿Cómo administraremos nuestros servidores de prueba y en vivo? ¿Hay algún buen recurso que indique cómo configurar diferentes entornos y procesos de implementación con Git/Github? ¿Hay algún artículo que nos diga qué hacer paso a paso?
He leído esos artículos pero ninguno de ellos me dice cómo lidiar con entornos locales, de prueba y en vivo.
- http://ryanflorence.com/simple-git-deployment/
- http://ryanflorence.com/deploying-websites-with-a-tiny-git-hook/
- http://toroid.org/ams/git-website-howto
- http://danielmiessler.com/study/git/
EDITAR 2012-03-09: He encontrado http://beanstalkapp.com/ y http://springloops.com y ambos parecen muy buenos en la implementación. No estoy seguro de si puedo confiar en esos servicios, pero ambos hacen exactamente lo que quiero. Voy a probar ambos y compartir mis resultados aquí para informar a todos.
Git no es una herramienta de implementación. Hay herramientas mucho más adecuadas para este objetivo. Lo que puedes hacer es combinarlos. – Ikke
Sé que Git no es una herramienta de implementación, pero muchos desarrolladores están usando Git * como * una herramienta de implementación. Usamos Github para almacenar nuestros códigos, por lo que pensamos que sería genial usar Git/Github como una herramienta de implementación. –
Esta pregunta es ideal para [Server Fault] (http://serverfault.com) - por ejemplo [this] (http://serverfault.com/q/142729/105371) pregunta (una de muchas similares por allí) –