OK, vì vậy tôi sẵn sàng thừa nhận rằng tôi là một người mới khi nói đến việc tích hợp liên tục.MSBuild - Sử dụng tệp .csproj hoặc cuộn tệp của riêng bạn?
Điều đó đang được nói, tôi đang cố gắng thiết lập môi trường CC.NET để giáo dục bản thân, nhưng tôi đang gặp khó khăn khi tìm thông tin tôi cần để thiết lập phần xây dựng tự động.
Như tôi đã hiểu, trong C# tệp .csproj được tạo bởi VS 2005 và chuyển tiếp là tệp MSBuild hợp lệ. Để wit, tôi đã có thể tích hợp các nhiệm vụ MSBuild vào CC.NET sử dụng file csproj, nhưng tôi có một vài vấn đề với điều này:
- Có rất nhiều xảy ra ở đây rằng tôi không chắc chắn tôi thực sự cần trong môi trường xây dựng tự động.
- Tôi không tạo tệp này. Tôi không hiểu, và điều đó làm tôi sợ. (Programming By Coincidence)
- Hầu hết những gì đang xảy ra dường như được trừu tượng hóa qua
$(MSBuildToolsPath)\Microsoft.CSharp.targets
- Như một kết quả của 1, 2, và 3, sửa đổi các tập tin để bao gồm một cái gì đó giống như MbUnit dường như phức tạp và khó khăn hơn nó cần phải được . Lựa chọn thực sự duy nhất của tôi là đưa nó vào phần
AfterBuild
, có vẻ giống như một vụ hack với tôi.
Vì vậy, một vài câu hỏi dành cho những người CC.NET, nhóm MSBuild và những người dùng MbUnit.
- Khi sử dụng MSBuild, bạn có nên sử dụng tệp xây dựng do VS tạo ra không? Hay tôi nên tạo của riêng mình?
- Các thử nghiệm MbUnit có nên là một phần của tệp MSBuild hoặc tệp CC.NET không? Nghiên cứu của tôi dường như gợi ý rằng chúng thuộc về tệp MSBuild. Nếu trường hợp đó xảy ra, tôi có tạo tệp MSBuild .proj mới và kiểm tra xem có phải trong CVS ngoài tệp .csproj không? Hoặc tác vụ MbUnit có trở thành một phần của tệp .csproj của tôi không?
- Tương tự như câu hỏi 2. Nếu tôi thêm các thử nghiệm MbUnit vào tệp MSBuild và kết thúc bằng tệp .csproj, là
Target Name="AfterBuild"
thực sự là phần để thêm thông tin đó? Không nên có phầnTarget Name="Test"
? Sử dụng tệp .csproj đã tạo VS dường như ngăn tùy chọn thứ hai.
Tôi biết có rất nhiều thứ, nhưng hầu hết những gì tôi có thể tìm thấy trực tuyến đều giả định một mức độ quen thuộc với các chủ đề mà tôi không có - trừ khi tôi nhầm, đường cong học tập cho công cụ này không phải là một đường cong ở tất cả, đó là một chức năng bước. :)
Chỉnh sửa 1: Tôi đã cập nhật văn bản ngắn gọn hơn một chút và để giải quyết một số câu hỏi kéo dài mà tôi đã có với câu trả lời.
Tệp .proj mới có được kiểm tra vào CVS cùng với tệp .csproj không? Hay nó chỉ sống trên máy chủ xây dựng và bên ngoài môi trường kiểm soát nguồn? Độ nghiêng của tôi sẽ là kiểm tra nó, nhưng nếu có những thực hành tốt nhất, tôi muốn theo họ. – jerhinesmith
** Mọi thứ ** được đăng ký. Chúng tôi sử dụng TeamCity build server với một số tác nhân xây dựng. Máy chủ xây dựng chỉ biết 2 (ok nhiều hơn 2) thứ. Nguồn ở đâu (cvs/svn/vss/etc) và tệp nào thực hiện việc xây dựng. (batery thấp có để tiết kiệm) –
Đây là phương pháp mà tôi sử dụng là tốt. Đối với mỗi dự án (trang web, ứng dụng web, ứng dụng, tiện ích mở rộng, v.v.), tôi có kho lưu trữ riêng trong Subversion, tệp .sln của chính nó chứa một hoặc nhiều tệp * proj và một tệp .proj. Tệp .sln được thiết kế để cho phép một để mở toàn bộ điều trong VS và viết/gỡ lỗi mã. Tệp .proj là cho phép CruiseControl hoặc TeamCity thực hiện tích hợp liên tục. –