2012-03-27 39 views
6

Chúng tôi sử dụng các bản dựng tự động tích hợp liên tục TFS 2010 được khởi động trên mọi lần đăng ký. Gần đây tôi đã thay đổi mẫu quy trình để xây dựng Gỡ lỗi và Phát hành song song trên các tác nhân xây dựng khác nhau như trái ngược với tuần tự trên cùng một tác nhân.Sau khi chuyển sang xây dựng các hương vị khác nhau song song, chúng tôi không liên tục thấy lỗi xây dựng do lỗi CreateLabel

Kể từ đó, chúng tôi lặp đi lặp lại khi thấy lỗi xây dựng do lỗi sau. Nó xảy ra thường xuyên đủ để nó không thể chấp nhận được (mỗi lần xây dựng từ ngày 5 đến ngày 10).

"TF203059: Nhãn đã tồn tại Thử lại lệnh với một tên nhãn khác nhau."

tôi đã không thể tìm ra một mô hình cụ thể mà gây ra điều này xảy ra. Đa co ai đi ngang qua đây chưa? Có sự thay đổi nào được thực hiện đối với hoạt động Tạo nhãn trong quá trình xây dựng không?

+0

Điều này phụ thuộc rất nhiều vào cách bạn đã tùy chỉnh mẫu quy trình xây dựng của mình. Bạn có thể mô tả một chút gần hơn như thế nào bạn đã thiết lập này? – pantelif

+0

Hi pantelif, cảm ơn bạn đã trả lời. Tôi đã sử dụng mẫu quy trình xây dựng được chia sẻ ở đây làm ví dụ: http://blogs.msdn.com/b/jimlamb/archive/2010/09/14/parallelized-builds-with-tfs2010.aspx – LiliaP

+0

Một số chi tiết khác: Tôi đã thêm một luồng điều khiển ParallelForEach đến trình tự quy trình xây dựng và đặt toàn bộ khối RunOnAgent bên trong nó. Hoạt động CreateLabel là một phần của khối RunOnAgent nên bây giờ nó được thực thi cho mỗi hương vị xây dựng. Nhãn được thiết lập để tạo số có định dạng $ (Date: yyyy.MM.dd) $ (Rev: .rr). Kết quả là cả việc gỡ lỗi và phát hành sẽ sử dụng cùng một nhãn. Điều này không gây ra vấn đề hầu hết các lần, nhưng chúng tôi nhận được thất bại xây dựng liên tục – LiliaP

Trả lời

1

Có một số vấn đề có thể đến từ việc song song. Các nhãn là một, và sửa đổi các mục công việc là thứ hai. Có thể có nhiều hơn, nhưng đó là những gì tôi đã chạy vào. Nếu bạn di chuyển cả hai vào phần đơn luồng, nó sẽ sửa chữa vấn đề của bạn. Tuy nhiên, điều đó thường đi kèm với các vấn đề riêng của nó. IIRC, việc dán nhãn yêu cầu bạn phải lập bản đồ vùng làm việc và cập nhật trước khi có thể gắn nhãn, vì vậy nếu bạn có nhiều tệp, điều này có thể giảm thiểu bất kỳ lợi ích hiệu suất nào của việc song song. Đối với các mục công việc, sự cố có thể xảy ra vì một quá trình sửa đổi mục công việc sau khi một chi nhánh khác đọc nó, và TFS quảng cáo chiêu hàng phù hợp để nó không thể cập nhật.

+0

Rob - cảm ơn bạn rất nhiều cho phản ứng của bạn! Tôi đã ra khỏi đất nước và vừa trở lại dự án này.Giải pháp của chúng tôi không phải là lớn, vì vậy nhận được mới nhất sẽ không mất nhiều thời gian. – LiliaP

+0

Rob - một câu hỏi về giải pháp của bạn cho vấn đề này: làm thế nào bạn di chuyển ghi nhãn vào phần đơn luồng? Bạn đã thực hiện điều này bằng cách chỉnh sửa mẫu trong giao diện người dùng chỉnh sửa Visual Studio Build Process hay bạn phải triển khai giải pháp tùy chỉnh? – LiliaP

+0

Đã lâu rồi, nhưng tôi nghĩ tôi đã chuyển nó trở lại phần đơn luồng bằng cách chỉnh sửa quy trình làm việc –

0

Trong trường hợp Bản dựng song song cho Cấu hình "Gỡ lỗi" và "Phát hành". Nó cố gắng đặt cùng một nhãn hai lần, vì vậy có thể tạo ra vấn đề. đặc biệt, chúng tôi chỉ cần cung cấp nhãn đó một lần. Vì vậy, trong trường hợp này để tránh vấn đề như vậy, chúng tôi có thể đặt một điều kiện cho một trong hai cấu hình để đặt nhãn và bỏ qua việc đưa nhãn cho cấu hình thứ hai.

sử dụng nếu tình trạng này:

if (cấu hình = "Release") Sau đó (CreateLabel) khác [Bạn phải rời khỏi này trống cho gỡ lỗi như chúng tôi đã cung cấp mà nhãn một lần cho " Thả "điều kiện"

Bằng cách này tôi đã giải quyết được vấn đề của mình liên quan đến vấn đề nhãn trùng lặp.

"TF203059: Nhãn đã tồn tại Thử lại lệnh với một tên nhãn khác nhau."

Tôi hy vọng nó cũng sẽ làm việc cho bạn hoàn toàn tốt đẹp cho song song xây dựng.

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