Тест ВМ в репозитории GIT - PullRequest
6 голосов
/ 28 ноября 2011

У меня есть проект, который использует связь TCP / IP для связи с сервером.
Для моего проекта я настроил сервер на виртуальной машине, которую я использую для своих тестов.
Когда я запускаю свои тесты, виртуальная машина запускается, мои тесты запускаются, и виртуальная машина будет закрыта после выполнения теста.

Поскольку моя виртуальная машина принадлежит ресурсам моего проекта, я хочу добавить ее в свой репозиторий.
Есть только одна проблема, моя виртуальная машина имеет 6,5 ГБ, и у меня есть GIT-репозиторий.

GIT всегда отмечает: не храните большие файлы в хранилище. И я хочу этого избежать.

Как мне организовать это в моем проекте?
Должен ли я хранить виртуальную машину в другом месте? (И получить его, когда мне это нужно)
Или у меня есть другие варианты?

Ответы [ 3 ]

4 голосов
/ 28 ноября 2011

Храните в другом месте. Тестовые машины являются частью среды, такой как компиляторы или внешние библиотеки, а не частью исходного кода. Таким образом, они не входят в систему контроля версий.

Для файлов, очень специфичных для проекта, обычным шаблоном является сохранение URI, идентифицирующего машину (например, с помощью rsync: //), и контрольной суммы в git, и ваша система сборки может получить машину.

3 голосов
/ 28 ноября 2011

Как уже говорили другие, добавление виртуальной машины в ваш репозиторий является плохой идеей.Возможно, вы захотите взглянуть на что-то вроде Vagrant , которое позволяет вам настраивать виртуальные машины через VirtualBox, но вам нужно только хранить скрипты, необходимые для загрузки виртуальной машины, как вам нужно.

2 голосов
/ 28 ноября 2011

Добавление всей виртуальной машины в репозиторий GIT - плохая идея. Ваша виртуальная машина - это тестовая коробка, она не является частью разработки.

У меня похожая ситуация, в моем случае тестовая виртуальная машина представляет собой коробку CentOS. Итак, я сделал следующее:

У меня есть пакетная система, которая может автоматически настраивать виртуальную виртуальную машину без кода моего сервера. После того, как он запустится, я могу, при желании, перенести пакеты моего серверного программного обеспечения в новый vm, а вы продолжите делать все остальное оттуда ...

...