phiên bản ngắnSử dụng Git để phân phối hàng đêm được xây dựng để một studio
Cần phân phối hàng đêm được xây dựng để 70+ người mỗi buổi sáng, muốn sử dụng git để cân bằng tải chuyển nhượng, và muốn biết nếu có những lời khuyên, cạm bẫy, hoặc sai sót với ý tưởng trước khi tôi bắt đầu thiết kế hệ thống.
Long phiên bản
Mỗi buổi sáng chúng ta cần phải phân phối xây dựng hàng đêm của chúng tôi đến studio của 70+ người (nghệ sĩ, xét nghiệm, lập trình viên, sản xuất vv). Cho đến bây giờ, chúng tôi đã sao chép bản dựng lên máy chủ và đã viết một chương trình đồng bộ hóa tìm nạp nó (sử dụng Robocopy bên dưới); thậm chí với việc thiết lập gương, tốc độ truyền tải không thể chấp nhận được với thời gian lên tới một giờ hoặc lâu hơn để đồng bộ vào thời gian cao điểm (thời gian ngoài giờ cao điểm là khoảng 15 phút), là điểm bị tắc nghẽn phần cứng I/O.
Ý tưởng tuyệt vời (mặc dù chắc chắn không phải nguyên gốc) mà tôi có là phân phối tải trong toàn bộ studio. Sau khi nghiên cứu viết một client sử dụng giao thức bit-torrent khét tiếng, một ý nghĩ khác xảy ra với tôi rằng tôi chỉ có thể sử dụng git như thiết kế nó sẽ cho chúng ta phân phối quản lý xây dựng và sửa đổi.
Câu hỏi
Làm thế nào để bạn bắt đầu sử dụng git? Tôi có kinh nghiệm với các hệ thống kiểm soát nguồn có vị trí trung tâm như Perforce và SVN. Đọc tài liệu, có vẻ như tất cả những gì bạn cần làm là chạy
git init path\\to\folder
và sau đó trên một máy khác chạygit clone url
?Tôi lấy số
url
cho lệnhgit clone
ở trên ở đâu? Tôi có thể xác định? Tôi tìm thấy khái niệm có một url lạ như git không có một máy chủ trung tâm - hay không? ví dụ. tương tự như một trình theo dõi bit-torrent?Điều gì sẽ là tùy chọn tốt hơn để xác định bản dựng, sử dụng số hoặc danh sách thay đổi?
Có thể giới hạn số lượng bản chỉnh sửa được lưu trữ không? Điều này sẽ hữu ích như ngoài các bản dựng hàng đêm, chúng tôi cũng có một số CI xây dựng trong suốt cả ngày mà chúng tôi muốn phân phối, tuy nhiên không có ý nghĩa để có các bản sửa đổi số vô hạn kéo dài xung quanh. Trong Perforce bạn có thể giới hạn các bản chỉnh sửa bằng cách đặt thuộc tính.
Tôi muốn tìm hiểu thêm về bittorrent, hầu hết khách hàng đều hỗ trợ nhận torrents từ nguồn cấp dữ liệu .rss để bạn có thể xuất bản nguồn cấp dữ liệu với phiên bản mới nhất và mọi người tải xuống tự động. – grapefrukt
Chúng tôi muốn sử dụng một khách hàng tùy chỉnh vì sản xuất sẽ * không bao giờ * cho phép chúng tôi cài đặt một ứng dụng bit-torrent trên các máy người dùng, ví dụ: uTorrent. Tuy nhiên, tôi thích ý tưởng xuất bản một nguồn cấp dữ liệu RSS và đồng bộ hóa tự động (nó là cái gì đó mà chúng tôi đã phải hack trong tuần trước để giải pháp hiện tại của chúng tôi). – Dennis
Sau khi đọc thêm về git (nhờ vào các liên kết được cung cấp trong các câu trả lời), tôi nghĩ rằng tôi sẽ cần xem xét thêm về BitTorrent một lần nữa. – Dennis