Tôi sử dụng TeamCity lần lượt gọi msbuild (.NET 4). Tôi có một vấn đề kỳ lạ là sau khi xây dựng hoàn tất (và dường như không quan trọng nếu đó là xây dựng thành công hay không), msbuild.exe vẫn mở và khóa một trong các tệp, có nghĩa là mỗi khi TeamCity cố gắng để xóa thư mục công việc của nó, nó không thành công và không thể tiếp tục.
Điều này xảy ra hầu như mọi lúc.
Tôi thực sự bị mất trong vấn đề này, vì vậy tôi sẽ cố gắng cung cấp càng nhiều chi tiết càng tốt.
- Máy chủ là Intel Core i7, ram 2 GB, chạy Windows Server 2008 64-bit SP2 chuẩn.
- Trong TeamCity, trình chạy msbuild được định cấu hình với
/m
tham số dòng lệnh (có nghĩa là sử dụng nhiều lõi) - Tệp được đề cập LUÔN LUÔN là cùng một DLL bên ngoài được tham chiếu trong một trong các dự án .NET, trong đường dẫn
External Tools\Telerik\Telerik.Reporting.Dll
. (Có một số tệp .DLL khác được bao gồm trongExternal Tools
dir trong một cấu trúc đường dẫn tương tự không bao giờ gây ra sự cố này). Hiện tại, điều này là với phiên bản thử nghiệm của báo cáo Telerik, trong trường hợp có bất kỳ sự khác biệt nào. - Khi sự cố xảy ra, luôn có một số
msbuild.exe *32
quy trình được liệt kê trong Trình quản lý tác vụ: Tôi tin rằng có 7. Sử dụng Process Explorer, tất cả chúng trông giống như các quy trình cấp cao nhất (không có cha mẹ). Tất cả chúng đều đang sử dụng ram từ 20-50MB và CPU 0,0%. - Nếu tôi đợi 1-3 phút, các quy trình msbuild.exe sẽ tự thoát ra và sau đó TeamCity có thể cập nhật thư mục công việc đúng cách.
- Nếu tôi chấm dứt quy trình msbuild theo cách thủ công, bản cập nhật của TeamCity sẽ hoạt động lại ngay lập tức.
- Dịch vụ lập chỉ mục bị tắt trong Windows (mặc dù hai điểm trước đó xác nhận khá nhiều đó là msbuild.exe gây ra sự cố).
- Không có thuộc tính đặc biệt nào trên Telerik.reporting.dll. Thuộc tính SVN duy nhất là
svn:mime-type = application/octet-stream
Có ai chạy qua điều này trước đây?
/m /nr:false
, tôi sẽ chạy một vài bản dựng và xem nó diễn ra như thế nào. Cảm ơn