Trong bộ phận của tôi, chúng tôi đang phát triển một số AddOns nhỏ hơn cho một số máy chủ liên lạc hợp nhất. Để tạo phiên bản và phát triển phân tán, chúng tôi sử dụng Team Foundation Server 2012.
Nhưng: chỉ có một giải pháp TFS lớn cho tất cả các ứng dụng và thư viện của chúng tôi:
- Giải pháp chính
- Các ứng dụng
- Ứng dụng 1
- Ứng dụng 2
- Ứng dụng 3
- Bên ngoài
- Thư viện
- Thiên Bình 1
- Thiên 2
- Công cụ
- Các ứng dụng
Đường dẫn "Ứng dụng" chứa tất cả các ứng dụng chính. Chúng không phụ thuộc vào nhau, nhưng chúng phụ thuộc vào các dự án Thư viện và Externals.
Đường dẫn "Externals" chứa một số DLL bên ngoài được tham chiếu trong Ứng dụng và Thư viện của chúng tôi.
Đường dẫn Thư viện chứa các lib thường được sử dụng (các mẫu UI, các lớp Trình trợ giúp, v.v.). Chúng không phụ thuộc vào nhau và chúng được tham chiếu trong các dự án Thư viện và Công cụ.
Đường dẫn Công cụ chứa một số chương trình trợ giúp như trình trợ giúp thiết lập, cập nhật dịch vụ web, v.v.
Bây giờ, có một số điểm chính tại sao tôi muốn thay đổi cấu trúc này:
- Chúng tôi không thể sử dụng các bản dựng máy chủ.
- Thật khó chịu khi quản lý quản lý scrum TFS bằng nước rút, chướng ngại vật, v.v ... với cấu trúc giải pháp như thế.
- Mọi nhà phát triển luôn có quyền truy cập vào tất cả các dự án trong giải pháp.
- Bản dựng hoàn chỉnh tồn tại quá lâu nếu một người vô tình chạm vào [F6] trong Visual Studio ...
Bạn sẽ thay đổi điều gì trong giải pháp này? Làm thế nào bạn có thể chia các dự án đó thành các Giải pháp nhỏ hơn, các giải pháp đó nên được cấu trúc như thế nào.
Cách tiếp cận đầu tiên của tôi sẽ là, tạo một dự án TFS cho mỗi Ứng dụng, Thư viện và Công cụ. Nhưng làm thế nào tôi có thể đảm bảo rằng ví dụ: Ứng dụng 2 luôn chứa phiên bản mới nhất của Lib 1? Tôi có phải theo dõi các thay đổi trên Lib 1 và cập nhật Ứng dụng 2 theo cách thủ công ngay khi Lib thay đổi không? Hoặc bằng cách nào đó tôi có thể buộc Visual Studio luôn sử dụng phiên bản mới nhất của một dự án bên ngoài bằng cách nào đó?
Chỉnh sửa: Trên TFS, chỉ có một Bộ sưu tập Dự án nhóm TFS, chứa một Dự án nhóm TFS. Dự án nhóm chứa một Giải pháp Visual Studio lớn, chứa một số thư mục chứa (xem cấu trúc bên trên) với mỗi thư mục chứa nhiều dự án VS.
Câu hỏi của tôi là bây giờ, bạn sẽ tổ chức lại như thế nào:
- Các dự án nhóm TFS
- Dự án VS