2011-11-28 20 views
6

Ho un progetto che utilizza la comunicazione TCP/IP per comunicare con un server.
Per il mio progetto, ho installato un server in una VM che utilizzo per i miei test.
Quando eseguo i test, la VM si avvia, i miei test vengono eseguiti e la VM verrà chiusa dopo l'esecuzione del test.Test VM nel repository GIT

Poiché la mia VM appartiene alle risorse del mio progetto, voglio aggiungerla al mio repository.
C'è un solo problema, la mia VM è di 6,5 GB e ho un repository GIT.

GIT rileva sempre: non archiviare file di grandi dimensioni nel repository. E voglio evitare questo.

Come devo organizzare questo nel mio progetto?
Devo archiviare la VM altrove? (E recuperarlo quando ne ho bisogno)
Oppure ho altre opzioni?

risposta

4

Conservare altrove. Le macchine di prova fanno parte dell'ambiente, come i compilatori o le librerie esterne, e non fanno parte della sorgente. Pertanto, essi non appartengono al sistema di controllo del codice sorgente.

Per i file specifici di un progetto, uno schema comune è quello di memorizzare un URI che identifica la macchina (ad esempio utilizzando rsync: //) e un checksum nel git e consente al sistema di build di recuperare la macchina.

2

Aggiungendo l'intera VM repository GIT è una cattiva idea. La tua VM è una test box che non fa parte dello sviluppo.

Ho una situazione simile, nel mio caso il test VM è una scatola di CentOS. Quindi il mio ho fatto la seguente:

Ho un sistema batch che può auto-configurare una vaniglia VM senza il mio codice server. Una volta lanciato posso, opzionalmente, inviare i miei pacchetti software per il nuovo VM e continuare a fare il resto da lì ...

3

Come altri hanno già detto, aggiungere la VM al repository è una cattiva idea. Si consiglia di prendere in considerazione qualcosa come Vagrant che consente di configurare le macchine virtuali tramite VirtualBox, ma è sufficiente memorizzare gli script necessari per avviare la VM come desiderato.