2011-11-28 19 views
6

Tôi có một dự án sử dụng giao tiếp TCP/IP để giao tiếp với máy chủ.
Đối với dự án của tôi, tôi đã thiết lập một máy chủ trong một máy ảo mà tôi sử dụng cho các bài kiểm tra của mình.
Khi tôi chạy thử nghiệm của mình, VM khởi động, các thử nghiệm của tôi sẽ chạy và VM sẽ bị đóng sau khi chạy thử nghiệm.Kiểm tra VM trong kho GIT

Vì VM của tôi thuộc về tài nguyên dự án của tôi, tôi muốn thêm nó vào kho lưu trữ của mình.
Chỉ có một sự cố, máy ảo của tôi là 6,5 GB và tôi có kho lưu trữ GIT.

GIT luôn ghi chú: Không lưu trữ các tệp lớn trong kho lưu trữ. Và tôi muốn tránh điều này.

Tôi nên sắp xếp điều này như thế nào trong dự án của mình?
Tôi có nên lưu VM ở nơi khác không? (Và lấy nó khi tôi cần nó)
Hoặc tôi có các lựa chọn khác?

Trả lời

4

Lưu trữ ở nơi khác. Các máy thử nghiệm là một phần của môi trường, như các trình biên dịch hoặc các thư viện bên ngoài, và không phải là một phần của nguồn. Vì vậy, chúng không thuộc về hệ thống kiểm soát nguồn.

Đối với các tệp rất cụ thể của dự án, một mẫu chung là lưu trữ URI xác định máy (ví dụ: sử dụng rsync: //) và kiểm tra trong git và để hệ thống xây dựng của bạn tìm nạp máy.

2

Việc thêm toàn bộ VM vào repo GIT là một ý tưởng tồi. VM của bạn là một hộp kiểm tra nó không phải là một phần của sự phát triển.

Tôi có tình huống tương tự, trong trường hợp của tôi máy ảo thử nghiệm là một hộp CentOS. Vì vậy, tôi đã làm như sau:

Tôi có một hệ thống lô có thể tự động định cấu hình máy ảo vani mà không có mã máy chủ của tôi. Khi nó được khởi chạy, tôi có thể tùy ý đẩy các gói phần mềm máy chủ của tôi vào vm mới và bạn tiếp tục thực hiện phần còn lại từ đó ...

3

Như những người khác đã nói, thêm VM vào kho lưu trữ của bạn là một ý tưởng tồi. Bạn có thể muốn xem xét một cái gì đó như Vagrant cho phép bạn thiết lập máy ảo thông qua VirtualBox nhưng bạn chỉ cần lưu trữ các tập lệnh cần thiết để khởi động máy ảo theo cách bạn muốn.