2008-09-15 36 views
7

Chúng tôi hiện đang trong quá trình thiết lập kiểm soát nguồn/xây dựng/và nhiều máy chủ để phát triển .NET và chúng tôi đang nghĩ đến việc sử dụng Team Foundation Server (chi phí nhiều bột) hoặc kết hợp một số mở tùy chọn nguồn, chẳng hạn như SourceForge Enterprise/GForge và Subversion và CruiseControl.net, v.v. Có ai đi xuống con đường OSS bị thổi bay hoàn toàn hay chỉ là TFS nếu bạn muốn làm đúng và có thể đi làm sớm?TFS so với các giải pháp thay thế mã nguồn mở?

Trả lời

5

Tác phẩm của tôi hiện đang sử dụng quy trình xây dựng phần lớn OSS với Kiểm soát hành trình là động cơ và nó rất tuyệt. Tôi sẽ đề nghị rằng nếu bạn không biết tại sao bạn cần TFS, nó có lẽ không đáng giá.

Điều bạn phải ghi nhớ với nội dung OSS là phần mềm đã được sử dụng bởi nhóm Java trong nhiều năm trước đó hoặc phần mềm là một cổng của mã Java tương tự. Nó là mạnh mẽ và phù hợp cho mục đích.

Microsoft không thể gửi mã OSS, đó là lý do tại sao họ phải triển khai lại nhiều nội dung nguồn mở. Vì vậy, không, nó không phải là cần thiết, và đã có hàng triệu dự án được vận chuyển trên ngăn xếp đó. Mặt trái là có rất nhiều tính năng đẹp mà bạn có được với TFS mà bạn sẽ không (dễ dàng) có được với ngăn xếp OSS, chẳng hạn như tích hợp với phần mềm theo dõi lỗi/tính năng của bạn.

+0

CruiseControl.NET có một số tích hợp tốt đẹp với Altiana JIRA, tuy nhiên. –

+9

Microsoft _can_ ship mã nguồn mở, và họ làm (jQuery, khung MVC của họ ...) – sgwill

+2

Tôi khá chắc chắn rằng phản hồi này đã được soạn trước khi MS thông báo họ sẽ đi kèm dự án nguồn mở _first_ của họ, jQuery đã nói ở trên:). Nhưng có, họ đang mở ra một chút và cho thấy một số mã của họ với thế giới, nhưng chắc chắn là các bước bé ở giai đoạn này. Ngoài ra, các chàng trai MVC có chấp nhận các bản vá lỗi không? Điều đó đối với tôi là mức tối thiểu mà tôi coi là nguồn mở - không chỉ là mã hiển thị. – Travis

1

Công ty chúng tôi sử dụng kết hợp CruiseControl/SVN/nAnt/JIRA với thành công lớn.

Trình ngắt giao dịch với TFS là nó chỉ đáng giá cho các công ty lớn hơn. Nó sẽ tốn kém khủng khiếp cho các công ty nhỏ với 30 hoặc ít hơn các nhà phát triển, vốn đã được hưởng lợi rất nhiều từ kết hợp nguồn mở ở trên.

+0

Tôi quan tâm đến lý do tại sao bạn sử dụng JIRA với các lựa chọn khác của bạn, trừ khi sản phẩm bạn đang phát triển cũng là mã nguồn mở. Chúng tôi sử dụng cùng một ngăn xếp ngoại trừ chúng tôi sử dụng TRAC để theo dõi lỗi/wiki của chúng tôi. TRAC là miễn phí cho sử dụng thương mại. –

0

Tôi đã xem cả hai hoạt động (mặc dù tôi là nhà phát triển Java). Các upsides từ một lựa chọn và kết hợp phương pháp tiếp cận là bạn có thể chọn các bit tốt nhất cho tất cả mọi thứ (ví dụ như tôi muốn kiểm tra Hudson cho CI - tuyệt vời của nó cho Java, làm việc cho. Net quá và có tải của plugins và thực sự đơn giản để sử dụng). Nhược điểm là bạn phải tự mình làm tất cả. Tuy nhiên, việc này đang nhận được dễ dàng hơn trong thế giới Java. Ngoài ra, đừng để mọi người nói với bạn một sản phẩm được hỗ trợ tốt hơn. Trên nhiều sản phẩm PMNM trong không gian này chất lượng tuyệt vời và bạn nhận được hỗ trợ tốt hơn từ sự hỗ trợ của nhà cung cấp (IBM, tôi đang xem bạn)

Hy vọng điều này sẽ hữu ích.

0

Tôi sẽ đồng ý mạnh mẽ với điểm rằng nó chỉ có giá trị sử dụng TFS nếu bạn biết chính xác những gì bạn cần nó cho. Các add-in dựa trên OSS, giá rẻ hoặc miễn phí như Visual SVN và TestDriven.Net rất tốt nên việc tích hợp với VS là liền mạch rồi.

4

Tôi đã luôn đi theo con đường một chiều và chưa bao giờ gặp sự cố. Tôi cũng rất muốn giới thiệu TeamCity cho giải pháp CI của bạn. Có một giấy phép miễn phí và tôi nghĩ rằng nó thổi CC.NET ra khỏi nước để dễ dàng cấu hình và phản hồi.

3

Tôi đã là người dùng TFS hàng ngày trong khoảng 1,5 năm nay.

  • Điều khiển nguồn ổn định
  • Bạn không thể dễ dàng ngắt kết nối. Kiểm tra tệp đi tới máy chủ.
  • Tự động hợp nhất hoạt động tốt, ngoại trừ đôi khi nó làm hỏng tệp nguồn (vấn đề mã hóa).
  • TFS có cảm giác chậm chạp !? Đặc biệt là người quản lý kiểm tra. Mã được quản lý?
  • Có nhiều lỗi ngớ ngẩn khác nhau trong phần kiểm tra, không có gì quan trọng.
  • Quá trình kiểm tra mất quá nhiều thời gian để bắt đầu (đang chờ xử lý).
  • Tôi gặp lỗi SQL một lần nữa !?
  • Theo dõi vấn đề hút imho. Bạn buộc phải làm việc trong các hộp thoại tích hợp chậm, web chỉ hiển thị. Tôi khuyên bạn nên so sánh nó với các hệ thống theo dõi vấn đề khác, chẳng hạn như JIRA
  • Công trình xây dựng hoạt động ok.
+3

Bạn có thể làm việc bị ngắt kết nối trong TFS 2008 mà không có vấn đề gì - chúng tôi đã sử dụng nó trong một vài tháng. Có vẻ như bạn vẫn đang sử dụng TFS 2005 có khá nhiều vấn đề trong số này, nhưng phần lớn chúng đã được khắc phục trong năm 2008. –

+1

Nếu bạn đề cập đến lỗi/theo dõi vấn đề trên Stackoverflow, tôi chắc chắn rằng Joel sẽ đánh giá cao đề cập đến của FogBugz. –

+1

Làm việc bị ngắt kết nối trong TFS thông qua VS trên các dự án lớn là không thú vị. Ngoài ra, các phiên bản mới nhất sẽ tự động khóa các ide, online/offline ... ngay bây giờ TFS Server không có sẵn để tôi có thể thực hiện bất kỳ checkins nào và sẽ phải đi qua một số cửa sổ popup khi tôi kết nối lại và phát hiện các thay đổi . Kết thúc của rant. – yanta

0

Tôi nghĩ tôi muốn đưa ra một viễn cảnh mới có thể dùng với một hạt muối vì tôi chưa thử, nhưng tôi dự định sử dụng Bitten cho CI trong một dự án sắp tới. Điều này chạy trên đỉnh Trac + SVN, cả hai công cụ tuyệt vời mà tôi đã sử dụng cho nhiều dự án thành công.

1

Subversion + Cruisecontol.Net là một lựa chọn tốt. SVN là tính năng phong phú, ổn định và linh hoạt.

2

Nếu bạn đang sử dụng TFS, hãy đảm bảo bạn cài đặt VSTS2008SP1. Đại đa số những người tôi đã nhìn thấy các khiếu nại đang sử dụng phiên bản 2005. 2005 là hội chứng "Microsoft 1.0" cổ điển. Đã có rất nhiều vấn đề đã được khắc phục bởi 2 phiên bản sau này.

Gói dịch vụ cho năm 2008 không chỉ là sửa lỗi - mà còn thêm nhiều tính năng mới.

Theo như lựa chọn so với OSS - có rất nhiều thảo luận (ở đây và ở nơi khác). Nó không phải là một sản phẩm giá rẻ - nhưng nó là sự lựa chọn tốt nhất cho rất nhiều kịch bản (và điều tồi tệ nhất cho những người khác).

0

Chúng tôi đã xây dựng được một chồng phát triển dần dần ở đây, chúng tôi hiện đang sử dụng:

  • Subversion
  • CruiseControl
  • Redmine (tích hợp theo dõi lỗi với kiểm soát nguồn và bao gồm wiki, quản lý dự án cơ bản , v.v.)
2

Chúng tôi đã xem TFS, nhưng kết thúc với Subversion + Trac + VisualSVN. Chúng tôi không làm CI ngay bây giờ nhưng Cruisecontrol sẽ là những gì chúng tôi muốn sử dụng, tôi nghĩ.

Tôi bắt đầu sử dụng Trac với nhiều dự án mã nguồn mở và thật tuyệt vời. Nó thực sự chỉ là một phần của những gì TFS làm, vì vậy bạn sẽ phải đưa ra quyết định ở đó - nếu bạn sử dụng mọi thứ, TFS có thể làm tốt hơn việc kết hợp tất cả lại với nhau. Trac là trình duyệt/trình theo dõi nguồn/wiki lỗi. Tất cả mọi thứ được liên kết - khi bạn gõ vào tên của một WikiPage hoặc nói "Fix lỗi # 1234" trong một tin nhắn cam kết, bất cứ khi nào bạn thấy thông báo đó trong Trac các liên kết đi đến đúng nơi. Nó là công cụ giúp bạn thực hiện công việc của mình và thường tránh xa con đường.

VisualSVN là cầu nối tuyệt vời giữa TortoiseSVN (máy khách Subversion) và VisualStudio, đồng thời cải thiện đáng kể năng suất. Họ có một thử nghiệm miễn phí, và nó không phải là rất tốn kém sau đó ($ 50/người dùng), nhưng cũng đáng giá.

Một nhược điểm có thể xảy ra đối với Trac là trong thế giới Windows, thật khó để làm việc trên IIS. Tôi đã cài đặt Trac nhiều lần, nhưng đã thất vọng một cách nhanh chóng cố gắng để làm cho nó hoạt động đúng. Tôi đã kết thúc cài đặt Apache trên một IP khác (cũng có thể sử dụng cổng khác) và sau đó nó liền mạch.

Ngoại trừ một người trong nhóm của tôi (người có một chút kinh nghiệm), không ai từng sử dụng sự lật đổ trước đây. Một cặp vợ chồng đã sử dụng VSS, và đó là tất cả. Mọi người đều khá hoài nghi, nhưng tôi sẽ nói trong vòng vài ngày họ đều chuyển đổi. Sau khi học xong Trac và làm quen với mọi thứ (một vài ngày nữa), mọi người đều hoàn toàn được bán và yêu nó.

+0

+1 đá Trac. Thật tuyệt vời vì nó nhẹ - tránh xa con đường của bạn và làm mọi thứ bạn cần. Nếu chỉ có một dự án mã nguồn mở kết hợp Subversion, Trac và Cruise Control - bây giờ nó sẽ trở thành rock. –

+0

Oh và về việc chạy Trac - bạn không cần chạy nó trong IIS. Tôi chỉ chạy nó như một dịch vụ với SrvAny - làm cho cuộc sống của bạn trở nên rất dễ dàng. –

1

Lợi ích thực sự của việc sử dụng TFS so với một bộ công cụ OS riêng biệt là sự tích hợp của các luồng thông tin khác nhau có sẵn.

* Tạo một yêu cầu và chèn vào TFS
* Tạo một bộ nhiệm vụ liên kết chúng với các yêu cầu và gán chúng cho các nhà phát triển khác nhau
* Mỗi công việc nhà phát triển trên công việc và checkin của mình, giao nhiệm vụ cho các changeset kiểm tra trong
* Sửa lỗi đi kèm, trong trường hợp này, tập hợp thay đổi sẽ được phối hợp với yêu cầu sửa lỗi và bạn cũng có thể ánh xạ sửa lỗi theo yêu cầu ban đầu

Sau khi thực hiện xong tất cả thông tin này được sử dụng để theo dõi dự án và thực hiện đánh giá về công việc, chẳng hạn như ví dụ về số lượng thay đổi mà một lỗi được khắc phục, đó là yêu cầu đã tạo ra nhiều lỗi hơn hoặc chan ge yêu cầu và như vậy.

Tất cả các thông tin này rất hữu ích trong các tổ chức trung bình và lớn, và từ những gì tôi thấy hiện nay, không thể (hoặc rất khó) để theo dõi tích hợp các công cụ hệ điều hành khác nhau.

1

Ngăn xếp TFS vượt xa kiểm soát nguồn và thiết lập CI/đêm. Hãy suy nghĩ về quản lý dự án, báo cáo lỗi và tất cả đều bổ sung thêm điều gì đó hơn là chỉ CruiseControl, SVN và NAnt. Chỉ riêng các báo cáo có thể đáng để đầu tư. Và cũng nên nhớ rằng nếu bạn là người đăng ký MSDN/đối tác vàng ISV/v.v. bạn có thể nhận được một số điều này miễn phí ...

0

Tôi nghĩ rằng TFS là giá trị nó cho tất cả các tính năng bổ sung được đề cập trong bài viết trên. Nó liên tục xây dựng chức năng là thiếu nghiêm trọng mặc dù vậy chúng tôi tăng thêm một phần bằng cách sử dụng CruiseControl.NET đó là tuyệt vời. Lý do duy nhất chúng tôi sẽ chọn chống lại TFS nếu chúng tôi làm điều đó ngay bây giờ là chúng tôi đang chuyển sang phát triển nền tảng chéo các sản phẩm của mình. Vì vậy, nếu bạn thậm chí còn nghĩ về điều đó, hãy nghĩ đến PMNM. Subversion/Trac sẽ là combo yêu thích của tôi theo cách đó với CruiseCOntrol.NET vẫn là xương sống. CC.NET sử dụng mono hoạt động tốt trên Linux và Mac.

0

TFS2010 có TFS Basic, không mất phí (trên và vượt quá giấy phép đăng ký ms.net/visual studio của bạn). Nó được giới hạn trong 1 cho mỗi giấy phép VS, nhưng bạn chỉ cần giấy phép bổ sung cho người dùng không VS

Giao diện tự động hóa trong VS2010 một mình làm cho TFS một người chiến thắng trên cobbling giải pháp nguồn cùng nhau mở

0

Điều đáng mentionning phù hợp nhất thay thế cho một loạt các tính năng TFS không nhất thiết là PMNM, nhưng thương mại ngân sách thấp, như NDepend cho chất lượng mã và thăm dò kiến ​​trúc, NCover để bảo hiểm mã, TestDriven.NET để thử nghiệm lồng nhau trong IDE ...

+1

Patrick, bạn có thể muốn lưu ý rõ ràng sự liên kết của bạn với NDepend. Câu trả lời của bạn có thể có vẻ hơi spam. –

1

Tôi chỉ có gần đây bắt đầu làm việc với TFS hàng ngày, và đến từ một nguồn mở trước đây sta ck Tôi thấy nó khá thiếu.

Trong khi tích hợp tất cả các lỗi và theo dõi nhiệm vụ là một tính năng thực sự tuyệt vời, các âm bản ra trọng lượng nó.

Cá nhân tôi sử dụng ngăn xếp sau đó mang lại cho tôi tất cả những gì chúng ta cần làm từ hội nhập liên tục để triển khai tự động trên một quy mô doanh nghiệp ở một phần nhỏ của chi phí:

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