2009-10-13 31 views
20

Tôi đang thiết lập TeamCity và tôi tự hỏi những gì nên được sử dụng như là VCS Root. khoTôi nên chỉ điểm gốc VCS của TeamCity ở đâu?

svn của tôi nằm ở http://obfuscatedserver/svn/main/MyProject1/

Tôi có nên thiết lập các VCS gốc tại http://obfuscatedserver/svn/main/MyProject1/ hoặc sử dụng các thư mục thân cây tại http://obfuscatedserver/svn/main/MyProject1/trunk/?

Hiện tại tôi đang không sử dụng thư mục trunk và tôi phải thiết lập đường dẫn Build Runner "Build file path" thành "trunk/MyProject1.proj" (sử dụng msbuild).

Vị trí nào phù hợp nhất?

Trả lời

24

Tôi khuyên bạn nên sử dụng http://obfuscatedserver/svn/main/ làm Gốc VCS và sau đó hạn chế thư mục nào được kiểm tra bằng quy tắc thanh toán.

Thêm các quy tắc sau thanh toán (phần 2 của build config):

+:/MyProject1/trunk 

Bạn sẽ có lẽ cũng cần phải cập nhật vị trí của tập tin msbuild của bạn để

MyProject1/trunk/MyProject1.proj 

và thiết lập làm việc thư mục đến

MyProject1/trunk 

Điều này có vẻ như rất nhiều công việc, nhưng lần tới bạn muốn thêm một bản xây dựng mới, bạn không phải tạo một VCSroot mới.

Tuy nhiên, lợi ích thực sự xảy ra khi TeamCity thăm dò phiếu mua hàng SVN của bạn. Phác thảo repo của bạn một lần sẽ khám phá tất cả các thay đổi cho tất cả các bản dựng của bạn. Điều này đặc biệt quan trọng nếu kho lưu trữ của bạn được lưu trữ ở đâu đó như sourceforge hoặc googlecode. Bạn chắc chắn không muốn bỏ phiếu cho các máy chủ của họ cho mọi công trình mà bạn đã cấu hình.

Ngoài ra, nếu repo của bạn được lưu trữ bởi bên thứ ba, bạn có thể muốn đặt khoảng thời gian Kiểm tra của vcsRoot thành một giờ hoặc tương tự. Bạn luôn có thể yêu cầu teamcity kiểm tra các thay đổi đang chờ xử lý từ menu tác vụ trên bất kỳ trang tổng quan về xây dựng nào nếu bạn không thể bận tâm chờ đợi giờ trôi qua.

+0

Tôi đã phải giữ một chút về việc triển khai máy chủ CI của chúng tôi, nhưng một khi tôi có thời gian để hoàn thành nó tôi sẽ cố gắng gợi ý của bạn. –

+4

Bạn có thể remap đích trong quy tắc thanh toán như sau: '+:/MyProject1/trunk => .'. Điều này sẽ kiểm tra nội dung của thân cây như thư mục gốc cho việc xây dựng và do đó vị trí vào tệp msbuild chỉ là 'MyProject1.proj'. Ngoài ra, bạn có thể để trống thư mục làm việc. – timomeinen

2

Bạn nên sử dụng .../trunk/vì nó sẽ tăng tốc độ thanh toán, nếu không TeamCity sẽ nhận được tất cả các chi nhánh mà bạn có thể không cần cho việc xây dựng.

+1

Bạn có thể khắc phục sự cố nhận các chi nhánh, thẻ, v.v. bằng cách sửa đổi các quy tắc thanh toán. – dthrasher

2

Tính đến hiện tại, tôi đã sử dụng ../trunk làm thư mục gốc. Điều này là tốt đẹp bởi vì trong trường hợp của tôi tất cả các dự án được đặt bên dưới thân cây và vì vậy tôi có thể làm việc thanh toán hoàn toàn dễ dàng.

Nhưng tính năng gắn nhãn không hoạt động vì bạn cần sử dụng quy tắc như "trunk => tags" và thư mục gốc là cha mẹ của các thư mục này. Khi tôi muốn gắn nhãn mỗi bản phát hành bản phát hành, tôi hiện đang nghĩ đến việc thay đổi bố cục tương tự như một trong những khuyến nghị mà CrazyCoder đề xuất.

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