Implementar en varios serveres usando Subversion como SVN

Tengo un trabajo en mis manos que no sé cómo lograrlo.

Tenemos dos instancias de EC2 ejecutándose en Amazon, la de desarrollo y la de producción; cada uno con su propia database MySQL. Además, tenemos un tercero solo con Subversion SVN.

Actualmente, los deployments se realizan a través de SFTP utilizando Filezilla, desde la máquina local de uno de los desarrolladores hasta el server; donde tiene que copyr todos los files a mano en la máquina.

Por lo tanto, es muy difícil garantizar que ambos serveres tengan la misma versión de código.

Creo que la solución pasa por tener dos SVN, uno en el server de desarrollo y otro en el de producción. El Dev tendría todos los commits en la carpeta 'Trunk'. Cada 'Rama' que se marcaría tiene un lanzamiento, pasaría al SVN de Producción.

Creo que los deployments serían mucho más fáciles, solo tendrían que pagar.

Como soy un novato en este tipo de configuraciones, ¿cómo puedo lograr esto? ¿Configurando el SVN en ambas máquinas, y pasando cada Rama a la producción? Las instancias EC2 se ejecutan en Debian, con Nginx y Supervisor.

Como tiene un server dedicado para SVN, puede intentar instalar y configurar JENKINS en esa máquina, y en jenkins puede crear múltiples trabajos (tarea de implementación) para realizar la implementación en diferentes instancias de EC2.

Jenkins es una aplicación que supervisa las ejecuciones de trabajos repetidos, como la construcción de un proyecto de software o trabajos ejecutados por cron.

Estamos utilizando Jenkins para implementaciones remotas, que se progtwign en function del time y también se basan en las confirmaciones de SVN.

Consejo: intente hacer una configuration de jenkins en su máquina local y vea cómo realizar una implementación en otra máquina local.