2009-01-08 26 views
7

Vì vậy, tôi mới phụ trách các dự án tại công ty của mình (Chúng tôi vẫn chỉ có 2 người, nhưng chúng tôi đang phát triển) và tôi muốn thiết lập các dự án của mình đúng cách.Phương pháp tốt nhất để thiết lập dự án .NET mới là gì?

Tất cả các dự án của tôi đều có trong kho SVN, tôi đã cài đặt phần mềm theo dõi lỗi, nhưng những gì tôi đang tìm là cách tốt nhất để bố cục dự án mới với kiểm tra, SVN và máy chủ dựng. Tôi muốn thiết lập tất cả các dự án mới của chúng tôi cho CI, nhưng tôi không chắc chắn làm thế nào để đặt tất cả mọi thứ ra để nó mịn nhất có thể.

Tôi biết tôi cần:

  • Một máy chủ xây dựng
  • Tất cả vật liệu xây dựng/thử nghiệm trong repo SVN (bao gồm schema DB)
  • Một bố trí dự án đó là có lợi cho CI

Các bạn thiết lập dự án của mình như thế nào? Tôi muốn sử dụng MSBuild cho máy chủ xây dựng của mình, vì mọi thứ đã được thiết lập theo cách đó nhờ VS, nhưng tôi cũng đang tìm kiếm các mẹo về cách đặt các tệp, cách dự án nên được đưa ra trong giải pháp, v.v. Vì nó là viết tắt, tôi đã có khoảng 5 dự án trong giải pháp của tôi, một trong số đó là dự án thử nghiệm có chứa tất cả các bài kiểm tra cho phần còn lại của dự án của tôi. Đây có phải là phương pháp ưa thích không?

Bố cục trong kho lưu trữ của bạn như thế nào? Bạn giữ công cụ liên quan đến DB ở đâu? Thông số và tài liệu?

Bạn có sử dụng bất kỳ phần mềm cụ thể nào cho CI hay chỉ cần thực hiện theo câu lệnh "Tích hợp liên tục giống như một trạng thái tâm trí"?

Nói chung, tôi đang tìm kiếm các mẹo để đưa dự án mới đi đúng hướng, vì vậy mọi thứ diễn ra suôn sẻ nhất có thể sau này, cũng như dễ dàng cho các nhà phát triển mới làm quen.

Trả lời

4

Cruise Control là một sản phẩm tuyệt vời để Tích hợp liên tục. Một tùy chọn khác có một chút "dễ dàng hơn" để thiết lập là TeamCity của Jet Brains.

+0

Tôi đã nhìn thấy nó, và rối tung xung quanh với nó một chút, nhưng nó có vẻ hơi quá phức tạp cho nhu cầu của tôi. Tôi có thể nhìn vào nó một lần nữa mặc dù, cảm ơn. –

+0

+1 CC.Net là rất tốt – Diadistis

+0

Nó là khá thẳng về phía trước của bạn có quyền giới thiệu! Hãy thử cái này (đó là những gì tôi sử dụng để có được đôi chân của tôi ướt) http://msmvps.com/blogs/omar/archive/2008/10/06/asp-net-website-continuous-integration-deployment-using- cruisecontrol-net-subversion-msbuild-and-robocopy.aspx – cgreeno

0

TeamCity là sản phẩm CI rất tốt và hoàn toàn miễn phí cho một số dự án nhất định.

5

Alex,

tôi muốn đề nghị bạn bắt đầu ở đây: http://msdn.microsoft.com/en-us/library/ms998208.aspx

Đó bao gồm riêng kiến ​​nghị cơ cấu dự án của Microsoft. Bởi những âm thanh của nó, bạn thực sự cần phải nhìn vào kiến ​​trúc giải pháp duy nhất.

Về mặt nền tảng CI cụ thể, rõ ràng có một số tùy chọn khả dụng. Một số trong số này đi xuống để hương vị cũng như chức năng. Tìm kiếm trên mạng sẽ cung cấp cho bạn hầu hết các câu trả lời bạn cần trên mặt trận của chuyên gia và con!

Nick.

+0

Tôi nghĩ rằng các hướng dẫn microsoft là thực sự đáng đọc mặc dù bạn phải nhận thức được rằng nó là một chút lỗi thời. upvoted. –

2

Tôi sẽ bỏ phiếu thứ hai cho Kiểm soát hành trình dưới dạng CI và lưu ý rằng CruiseControl.NET tích hợp rất độc đáo và dễ dàng với MSBuild.

6

Tree Surgeon -. http://www.codeplex.com/treesurgeon

"Tree Bác sĩ phẫu thuật là một bộ tạo cây phát triển NET Chỉ cần cung cấp cho nó tên của dự án của bạn, và nó sẽ thiết lập một cái cây phát triển cho bạn trong vài giây.Hơn thế nữa, cây mới của bạn có năm giá trị của kinh nghiệm kỹ thuật xây dựng tích lũy được xây dựng ngay tại "

1

Vì vậy, tôi thay đổi cấu trúc của tôi như tôi tìm hiểu nhưng hiện tại:.

(SVN REPO) 
/trunk 
    MyProject <-- solution & .build file (i use nant or msbuild) 
    conf <-- IIS Settings etc go here 
    docs <-- that documentation i never do 
    lib <-- 3rd Party libraries eg ApplicationBlock,ASPNet MVC 
    src 
     Web 
     Data 
     Business 
    test 
     Web.Test 
     Data.Test 
     Business.Test 
    tools 
     nant 
     nunit 
     moq 
    Project2 
    conf 
    lib 
    src 
    test 
    tools 
/branches 
/tags 

Hy vọng rằng bạn sẽ thấy cấu trúc của tôi ở trên

0

Jenkins là một sản phẩm tuyệt vời. có plugin rất và Comunity hoạt động.

Hoàn toàn compative với .NET. Hỗ trợ các nô lệ máy.

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