2012-10-21 18 views
7

Tôi có 2 ứng dụng khác nhau được thiết lập trong điều khiển nguồn tfs. Cả hai chia sẻ một thư viện chung, cũng được thiết lập trong kiểm soát nguồn.cách xử lý một thư viện chung trong TFS và chia sẻ các tập tin

Quy trình hiện tại cho các thay đổi đối với thư viện chung là xây dựng nó, sao chép qua dll đến vị trí để các ứng dụng khác có thể thực hiện và làm việc. Đây là hướng dẫn sử dụng và không hoạt động tốt, đặc biệt là bây giờ tôi đang chuyển sang TFS CI Builds.

Layout như thế này trong TFS:

-TFS 
    - Web 1 
     | Main 
     | RB_1_0 
    - Web 2 
     | Main 
     | RB_1_0 
    - Shared 
     | Main 
     | RB_1_0 
     | RB_2_0 
     | RB_3_0 

Vì vậy, tôi đang tìm cách để thay đổi điều này, tự động hoá nó. Nhưng không chắc làm thế nào tôi có thể làm như vậy. Như bạn có thể thấy có nhiều chi nhánh vv. Như một thư viện chung tôi đang cân nhắc thiết lập như tôi làm việc với gói nuget, nơi thay đổi được đẩy lên web của tôi 1 và/hoặc web 2. Tôi không chắc nó dễ dàng như thế nào để thiết lập điều này.

Bạn có thể xem lại cấu trúc trên và đưa ra ý kiến ​​về cách tốt nhất để quản lý việc phân phối các tệp dll được xuất ra từ chung? Trong môi trường CI? Nuget là lựa chọn tốt nhất?

Trả lời

9

NuGet là những gì tôi sử dụng cho việc này.

Sửa đổi các quy trình xây dựng để tạo ra các gói mới cho gói chung

Thêm một hoạt động để build a nuget package, và phần còn lại sao chép nó vào một mạng chia sẻ bạn sử dụng như một kho lưu trữ NuGet. Có một vài dự án nổi xung quanh như Tfs NuGetter có thể được sử dụng thay vì chỉnh sửa thủ công mẫu xây dựng.

Nếu bạn không muốn sửa đổi mẫu xây dựng của mình thì bạn có thể sử dụng công cụ như [tfs deployer] và viết tập lệnh triển khai tùy chỉnh để tạo gói NuGet thay thế. Hoặc viết một cái gì đó mà móc vào sự kiện xây dựng hoàn chỉnh.

Enable Restore Gói về xây dựng cho tất cả các giải pháp

này có nghĩa là bạn không cần phải lưu trữ các gói trong kiểm soát nguồn, hoặc đối phó với các gói không tải khi bạn nhận được mới nhất về giải pháp.

Khi bạn muốn cập nhật phiên bản phụ thuộc, hãy mở giải pháp và cập nhật nó như bất kỳ gói NuGet bình thường nào.