7

Tôi hiện đang trong quá trình thiết lập môi trường tích hợp liên tục tại nơi làm việc. Chúng tôi đang sử dụng VisualSVN Server và CrusieControl.NET. Thỉnh thoảng một xây dựng sẽ thất bại và một triệu chứng là có những xung đột trong bản sao làm việc CruiseControl.NET. Tôi tin rằng điều này là do cách tôi đã thiết lập các giải pháp Visual Studio. Hy vọng rằng càng có nhiều dự án chúng tôi chạy trong môi trường này thì hiểu biết của chúng tôi về cách thiết lập chúng sẽ tốt hơn nên tôi không đặt câu hỏi tại sao các xung đột lại xảy ra ở giai đoạn này. Để sửa các bản dựng, tôi xóa bản sao làm việc và tạo một bản dựng mới - công trình này hoạt động mọi lúc (hiện tại). Vì vậy, câu hỏi của tôi là: đang xóa bản sao làm việc một phần hợp lệ của quá trình tích hợp liên tục, và làm thế nào để tôi đi về nó?Tạo trước tác vụ - xóa bản sao làm việc trong CruiseControl.NET

Tôi đã thử các giải pháp bao gồm MSTask và gọi xóa từ dòng lệnh nhưng tôi không có bất kỳ may mắn nào.

Xin lỗi vì đã quá dài dòng - công việc tốt này là một phiên bản beta :)

+0

CleanCopy cho Subversion được triển khai ngay bây giờ, trong phiên bản 1.4.1. Bạn chỉ cần đặt CleanCopy thành true trong cấu hình của bạn – Alex

Trả lời

9

Thực hiện xóa hoàn toàn trước hoặc sau khi bản dựng của bạn là thực hành tốt. Điều này có nghĩa là không có khả năng môi trường xây dựng của bạn chọn một tệp hết hạn. Xây dựng của bạn chính xác chống lại những gì có trong kho.

Xóa bản sao làm việc là có thể như tôi đã làm với Nant.

Ở Nant, tôi sẽ có một tập lệnh sạch trong thư mục riêng của mình với thư mục tôi muốn xóa và sau đó sẽ gọi nó từ CC.net.

Tôi cho rằng điều này cũng có thể thực hiện được với tệp lô. Hãy nhìn vào các lệnh rmdir http://www.computerhope.com/rmdirhlp.htm

@pauldoo

tôi thích máy chủ CI của tôi để làm một đầy đủ xóa như tôi không muốn bất kỳ sự ngạc nhiên khi tôi đi làm một xây dựng phát hành, mà phải luôn luôn được thực hiện từ trạng thái sạch. Nhưng nó sẽ có thể xử lý cả hai, không có lý do tại sao không

0

Nó là rất phổ biến và thường là một thực hành tốt cho bất kỳ quá trình xây dựng để làm một 'sạch' trước khi thực hiện bất kỳ xây dựng đáng kể. Điều này ngăn cản bất kỳ 'tạo tác' nào từ các bản dựng trước đó để làm mờ đầu ra.

Vệ sinh cơ bản là những gì bạn đang làm bằng cách xóa bản sao làm việc.

0

@Brad Barker

Làm sạch phương tiện để chỉ quét sạch các sản phẩm xây dựng.

Xóa bản sao làm việc cũng xóa tất cả mọi thứ khác (tệp nguồn và tệp dự án, v.v.).

Nói chung thật tuyệt nếu bạn xây dựng máy có thể hoạt động mà không thực hiện xóa hoàn toàn, vì điều này sao chép những gì một nhà phát triển bình thường làm. Bất kỳ xung đột nào nó tìm thấy trong quá trình cập nhật là một cảnh báo sớm cho những gì các nhà phát triển của bạn có thể mong đợi.


@jamie

Đối với phiên bản chính thức có nó là tốt hơn để làm một kiểm tra hoàn toàn sạch. Vì vậy, tôi đoán nó phụ thuộc vào mục đích của việc xây dựng.

2

@jamie: Có một lý do tại sao bạn không thể làm sạch mỗi khi sử dụng máy chủ tích hợp liên tục - thời gian xây dựng.Trên một số dự án tôi đã làm việc, các bản xây dựng sạch sẽ mất hơn 80 phút (một dự án nhúng bao gồm hàng nghìn tệp C++ để kiểm tra và sau đó biên dịch dựa trên nhiều mục tiêu). Trong trường hợp này, bạn phải cân nhắc lợi ích của phản hồi nhanh chóng đối với khả năng một công trình sạch sẽ bắt được thứ gì đó mà một công trình gia tăng sẽ không. Trong trường hợp của chúng tôi, chúng tôi đã làm việc để cải thiện và song song quy trình xây dựng đồng thời cho phép xây dựng gia tăng trên máy CI của chúng tôi. Chúng tôi đã có một vài vấn đề bởi vì chúng tôi đã không xây dựng sạch sẽ, nhưng bằng cách làm sạch hàng đêm hoặc hàng tuần bạn có thể loại bỏ nguy cơ mà không làm mất phản hồi nhanh của máy CI của bạn.

2

Nếu bạn kiểm tra CC2's jira có một bản vá được kiểm tra để thực hiện CleanCopy cho Subversion thực hiện chính xác những gì bạn muốn và chỉ cần đặt CleanCopy bằng true trong khối điều khiển nguồn của bạn giống như TFS.

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