2011-11-28 16 views
6

Tengo un proyecto que usa comunicación TCP/IP para comunicarse con un servidor.
Para mi proyecto, configuré un servidor en una VM que uso para mis pruebas.
Cuando ejecuto mis pruebas, la VM se inicia, mis pruebas se ejecutan y la máquina virtual se cerrará después de la prueba.Prueba VM en el repositorio GIT

Como mi máquina virtual pertenece a mis recursos de proyecto, quiero agregarla a mi repositorio.
Solo hay un problema, mi VM es de 6.5 GB y tengo un repositorio de GIT.

GIT siempre indica: No almacene archivos grandes en el repositorio. Y quiero evitar esto.

¿Cómo debo organizar esto en mi proyecto?
¿Debo almacenar la máquina virtual en otro lugar? (Y recuperarlo cuando lo necesito)
¿O tengo otras opciones?

Respuesta

4

Almacenar en otro lugar. Las máquinas de prueba son parte del entorno, como compiladores o bibliotecas externas, y no forman parte de la fuente. Por lo tanto, no pertenecen al sistema de control de fuente.

Para archivos muy específicos del proyecto, un patrón común es almacenar un URI identificando la máquina (por ejemplo, usando rsync: //) y una suma de comprobación en el git y dejar que su sistema de compilación obtenga la máquina.

2

Agregar una VM completa al repositorio de GIT es una mala idea. Su máquina virtual es una caja de prueba, no es parte del desarrollo.

Tengo una situación similar, en mi caso la VM de prueba es una caja CentOS. Así que mi he hecho lo siguiente:

Tengo un sistema por lotes que puede configurar automáticamente una máquina virtual vainilla sin mi código de servidor. Una vez que se lance, puedo, opcionalmente, enviar mis paquetes de software de servidor a la nueva vm y continuar haciendo el resto desde allí ...

3

Como han dicho otros, agregar la máquina virtual a su repositorio es una mala idea. Es posible que desee considerar buscar algo como Vagrant que le permite configurar máquinas virtuales a través de VirtualBox, pero solo necesita almacenar los scripts necesarios para iniciar la máquina virtual como lo desee.