Chúng tôi hiện đang sử dụng Subversion và TeamCity, chúng tôi sẽ chuyển sang sử dụng Mercurial (cụ thể là Kiln với tư cách là người dùng FogBugz).
Rõ ràng điều này sẽ dẫn đến những thay đổi - hy vọng là những cải tiến - trong mô hình phát triển của chúng tôi (cả hai chúng tôi!) Nhưng một vấn đề tôi gặp phải là làm thế nào để cấu trúc mọi thứ để chúng tôi vẫn tận hưởng lợi ích của việc tích hợp liên tục / máy chủ CI của chúng tôi ( rằng có và sẽ vẫn là lợi ích được đưa ra, thảo luận về những điều nằm ngoài phạm vi của câu hỏi này ).
Với SVN, chúng tôi cam kết số lượng kho lưu trữ trung tâm hạn chế - hiệu quả là một kho cho mỗi dự án (ít nhiều một Giải pháp Visual Studio) để dễ dàng kích hoạt bản dựng và đảm bảo rằng tất cả các tệp đã được cam kết và không có tệp nào được cam kết phụ thuộc đi lạc, v.v. Nhưng nếu chúng ta sẽ tận dụng lợi thế của sự đồng bóng, chúng ta sẽ muốn có nhiều trường hợp lưu trữ hơn - nơi mà tôi mong đợi các thay đổi thường chảy theo một repo "sống" dứt khoát. Vấn đề tôi đang đấu tranh là việc repo trực tiếp đối với tôi dường như quá "muộn" để kích hoạt CI của tôi xây dựng OTOH một CI xây dựng cho mỗi dự án cho mỗi nhà phát triển có thể là quá mức (và gây ra các vấn đề khác).
Tôi đang câu cá một chút nhưng đó là bởi vì một trong những điều mà một repo lật đổ trung tâm mang lại cho một người (tôi, với thiết lập của chúng tôi!) Là rất rõ ràng về những gì sẽ xây dựng khi nào.
nb Tôi không hỏi về các cơ chế của việc sử dụng đồng bóng với tích hợp liên tục - Tôi có một điều trị cho một dự án cá nhân, các mô hình và cấu trúc của nó và quy trình thực hành / công việc mà tôi đang cố gắng thực hiện.