2009-03-15 26 views
5

Tôi có một bộ các dự án phụ thuộc vào các dự án khác (bạn có thể nói tiện ích), vấn đề là mỗi khi tôi thay đổi mã của bất kỳ một trong những tiện ích đồng nghiệp của tôi cần phải thực hiện các mã mới nhất và xây dựng trên máy của họ để sử dụng các hội đồng mới nhất. Có giải pháp tiêu chuẩn tốt không? hoặc đơn giản là tập trung các dll vào một thư mục chia sẻ?Cách tốt nhất để tổ chức các dự án phụ thuộc?

Tái bút:

Chúng tôi đang sử dụng MS nguồn an toàn năm 2005 và tôi không muốn đồng nghiệp của tôi để lấy mã mọi nguồn và xây dựng trên máy của họ như họ chỉ cần những chương trình không phải là mã.

Trả lời

2

Họ thực sự cần các tiện ích ngay lập tức, lúc này bạn thay đổi chúng? Điều này thường không đúng.

Nó thường tốt hơn để cho các đồng nghiệp "kéo" mã mới nhất vào thời điểm thuận tiện tiếp theo của họ, khi họ kết hợp những thay đổi của mình.

Bạn đang sử dụng hệ thống kiểm soát nguồn, phải không?

Nếu bạn làm cho mọi người sử dụng bản sao trên máy chủ dùng chung, bạn có thể gặp sự cố khi cập nhật tệp nhị phân trong khi chúng đang được sử dụng hoặc bạn có thể gây ra một số kết quả không phù hợp.

Nếu chúng thực sự cần được cập nhật tại một thời điểm cụ thể (ví dụ, các tiện ích hoạt động bằng cách liên hệ với một số cơ sở dữ liệu trung tâm với lược đồ bạn đang phát triển, vì vậy bạn cần cập nhật các tệp nhị phân của mọi người cùng lúc bạn cập nhật cơ sở dữ liệu lược đồ) sau đó tôi khuyên bạn nên chuyển các tiện ích thành các dịch vụ web. Có rất nhiều cách rất dễ dàng để làm điều này. Sau đó, các đồng nghiệp có thể truy cập chúng thông qua các trang web nếu chúng tương tác hoặc thông qua một cái gì đó như wget nếu chúng là dòng lệnh tự động. Bạn có thể nhận được wget for Windows here.

3

Nếu bạn sử dụng Subversion như một hệ thống kiểm soát mã nguồn, bạn có thể sử dụng SVN Externals để làm điều này. Bằng cách đó, họ sẽ tự động kéo phiên bản mới của các tiện ích của bạn, khi họ thực hiện cập nhật gốc của thư mục đó. Bạn cũng có thể cung cấp cho họ Kiểm soát nguồn, theo cách chỉ đọc, để họ có thể xem mã tiện ích, nhưng họ không có quyền cam kết thay đổi.

Chúng tôi sử dụng này tại nơi làm việc, và nó hoạt động hoàn hảo. Nhưng hãy lưu ý rằng đôi khi bạn không muốn cập nhật các tiện ích của mình mỗi khi bạn cập nhật, vì bạn có thể đang phá vỡ một cái gì đó bằng cách sử dụng phiên bản mới. Đây là một cái gì đó mà công ty của bạn phải có một cách để xử lý. Chúng tôi có SVN Chi nhánh (hoặc thẻ) cho phiên bản thị trưởng của các tiện ích, vì vậy nếu chúng ta thay đổi một thị trưởng nào đó, chúng ta sẽ tạo phiên bản mới và mọi người sẽ phải thay đổi SVN External của họ theo cách thủ công để trỏ đến phiên bản mới nếu họ muốn.

1

Khi chúng tôi đã chia sẻ cụm qua nhiều đội bóng, chúng tôi thúc đẩy chúng vào một thư mục bin, theo cách đó các nhà phát triển khác có thể tham khảo/sử dụng các hội đồng ngày tối đa mà không cần phải tái xây dựng từ nguồn.

Các vấn đề liên quan