Andrew:
Trước hết, chúng ta vi phạm một vài "thực hành tốt nhất" để thực hiện điều này, nhưng thực dụng là nơi thực hành tốt nhất đáp ứng thế giới thực.
Những gì chúng ta làm điều này là:
- Tất cả các mã nhị phân được kiểm tra vào TFS trong một thư mục LocalBin rằng hợp nhất tất cả các mã nhị phân của chúng tôi.
- Tất cả các hội đồng chia sẻ được đặt trong một thư mục có tên LocalBin/SharedBin
- Thư mục SharedBin được phân nhánh thành thư mục SharedBin cấp cao nhất trong nhóm dự án tiêu thụ.
- Trên bản dựng chính thành công, LocalBin/Sharedbin được hợp nhất vào thư mục SharedBin của dự án.
Nó gió lên là một cái gì đó như thế này:
$/ProjectA/Main/Localbin/SharedBin
được phân nhánh để $/ProjectB/Main/SharedBin
và $/ProjectB/Dev/Sharedbin
(cũng như các thư mục tương đương trong $/ProjectC
, $/ProjectD
vân vân).
Chúng tôi chỉ thực hiện việc chia sẻ này khi xây dựng MAIN thành công và xây dựng có trách nhiệm hợp nhất không chỉ với các dự án nhánh MAIN khác mà còn cho các dự án nhánh của DEV, do đó chúng được cập nhật.
Chúng tôi đã xem xét ý tưởng đối phó các tệp nhị phân với vị trí mạng được chia sẻ sau khi xây dựng thành công và có quy ước tham chiếu các tệp nhị phân đó trong mạng đó, nhưng quá trình này đang hoạt động tốt cho chúng tôi hôm nay và đang không muốn thay đổi nó vào thời điểm này (những điều quan trọng hơn đang xảy ra bây giờ).
Đây là một trong những điều khó mô tả đầy đủ trong bài đăng, vì vậy nếu bạn có thêm câu hỏi, tôi rất sẵn lòng trả lời chúng.
BTW, giải pháp của chúng tôi được xây dựng và đang chạy dưới TFS2008 với hàng nghìn tệp dự án và có thể có hàng triệu dòng mã. Nó làm tăng thời gian xây dựng do hợp nhất và tăng số lượng không gian được sử dụng trong kho lưu trữ của bạn, nhưng cả hai đã được quản lý cho đến nay.
Cảm ơn bạn đã giải pháp. Nó sẽ đưa tôi một thời gian để điều tra! –