5

Theo dõi một trong các bài đăng trước 'Using Version Control for Home Development' của tôi, tôi hiện đang hỏi ý kiến ​​về việc sử dụng Máy chủ Xây dựng cho dự án thú cưng.Sử dụng Máy chủ Tích hợp Liên tục để Phát triển Trang chủ

Gần đây tôi đã đọc về khái niệm 'Xây dựng máy chủ' này và tôi đã xem xét các ứng dụng như Maven và CruiseControl.Net.

Và do đó tôi hỏi, khả năng sử dụng một cái gì đó như CruiseControl.Net cho các dự án thú cưng tại nhà của tôi là gì?

Lý do tôi hỏi là tôi nghĩ rằng những Máy chủ Xây dựng này chủ yếu nhắm vào các dự án nhóm ... nhưng sau đó, tôi vẫn còn rất mới trong quá trình Tự động Xây dựng này.

Hãy nhớ rằng hầu hết thời gian, các dự án thú cưng này chỉ được xử lý bởi một người chứ không phải một nhóm.

Vì vậy, tôi nên tìm hiểu thêm về khái niệm này vì lợi ích của việc sử dụng ở nhà, hoặc tôi chỉ nên thực hành một số về nó vì lợi ích của kinh nghiệm?

[EDIT]

Mặc dù tôi cảm ơn tất cả các bạn cho câu trả lời của bạn liên quan đến giải pháp thay thế để CC.Net và như vậy, chưa có ai thực sự giải quyết vấn đề của cho dù đó là khả thi hay không thi hành một hệ thống xây dựng cho phát triển nhà?

Trả lời

5

Hoàn toàn khả thi để triển khai máy chủ xây dựng cho các dự án nhà của bạn. Tôi đã thực hiện CC.Net cho các dự án nhà của tôi bản thân mình và nó là khá dễ dàng để làm như vậy, ngay cả lần đầu tiên. Tôi sẽ nói đường cong học tập (tùy thuộc vào kinh nghiệm của bạn) là ít hơn một ngày để có được dự án đầu tiên của bạn và xây dựng, mặc dù luôn có đuôi dài trên đường cong đó khi bạn đào sâu vào một số chi tiết thú vị hơn.

Câu hỏi đối với tôi là một trong những động lực để hội nhập liên tục vào các dự án này. Nếu bạn đang sử dụng "Home Project" đồng bộ với "Throw-away Project", có lẽ không có nhiều điểm trong việc gặp rắc rối của CI trừ khi bạn đang sử dụng nó cụ thể như một bài tập học tập CI. Tuy nhiên, giả sử đây không phải là các dự án mà bạn đang nói đến, tôi đã tìm thấy (ngoài những lợi ích rõ ràng hơn của tự động hóa) mà việc triển khai CI giúp giảm chi phí liên quan đến việc quay trở lại dự án bạn '. đã bỏ đi trong một thời gian. Tất nhiên, các bài kiểm tra đơn vị là tài sản quý giá nhất trong vấn đề này, nhưng sự kết hợp các bài kiểm tra đơn vị với quá trình xây dựng/triển khai tự động thực sự cho phép bạn tập trung vào các yêu cầu mới và thay đổi khi bạn quay lại dự án sau khi đã đặt nó xuống trong một thời gian. Ngoài ra, như mghie chỉ ra trong các ý kiến ​​cho câu trả lời này, "CI sẽ đem lại lợi ích lớn hơn cho các dự án nhà nếu chúng xây dựng lẫn nhau, vì vậy những thay đổi trong một dự án có thể làm cho xây dựng phá vỡ ở những người khác".

Lời khuyên của tôi, chỉ cần làm điều đó một lần để bạn có một bức tranh rõ ràng hơn về những gì có liên quan và những lợi ích bạn có thể gặt hái và hạn chế mà bạn có thể phải gánh chịu. Sau đó đưa ra quyết định cho chính mình là liệu nó có đáng để tiếp tục thực hiện hay không. Như tôi đã nói, đường cong học tập là khá thấp nên đầu tư bạn sẽ phải thực hiện chỉ để thử nó không phải là lý do không phải.

Nutshell: khả thi - Vâng, mong muốn cho các dự án nhà - Khá Có thể, Worth điều tra thêm - Chắc chắn, Đầu tư - Tương đối thấp

+0

+1, một câu trả lời rất hay, rất quan trọng vì người ta có thể trả lời câu hỏi cho OP. Tôi có lẽ sẽ thêm rằng CI sẽ mang lại lợi ích lớn hơn cho các dự án nhà nếu họ xây dựng dựa trên nhau, vì vậy những thay đổi trong một dự án có thể làm cho việc xây dựng bị phá vỡ trong các dự án khác. – mghie

1

Tôi đã cài đặt CC.net vài tháng trước đây, tôi đã mất một đêm để cấu hình và tạo cấu hình xml và tôi không hối tiếc về nó, nó tích hợp với SVN, Nunit, Nant hoặc Msbuild. bạn nên thử nó chỉ nếu nó là để đạt được kinh nghiệm

+0

+1 để dùng thử để có được trải nghiệm. Bạn không bao giờ biết khi nào bạn có thể cần phải sử dụng ccnet trên một dự án làm việc trong tương lai. – Pedro

1

Hãy nhìn vào Hudson của nó rất dễ dàng. Bạn chỉ cần triển khai trong Tomcat hoặc bất kỳ servlet nào khác mà bạn sử dụng container. Một khi lên mỗi cấu hình có thể được thực hiện bằng cách sử dụng trình duyệt. Hudson hỗ trợ maven, ant vv và hỗ trợ tất cả các SCM chính. Tôi đã sử dụng hudson trong một năm qua và không gặp phải bất kỳ rắc rối nào.

0

CC.NET là rất khả thi, trên thực tế với chi phí và miễn phí trên phạm vi rộng các hoạt động hỗ trợ. Chưa kể thực tế là vì bạn có thể lấy mã nguồn bạn có thể sửa đổi nó cho bạn cần tôi không thể tưởng tượng bất cứ điều gì tốt hơn. Tôi đọc các tiêu chuẩn khác về mức độ khó thiết lập, nhưng thành thật mà nói tôi đã có dự án TFS/VS2005 đơn giản đầu tiên của tôi trong vòng một giờ. Chỉ cần nhớ nếu bạn chạy vào bất kỳ vấn đề hoặc snags CC.NET có một nhóm google hoạt động khá cho người dùng và Devs những người sẽ sẵn sàng giúp bạn thông qua bất kỳ gotchas.

0

Tôi yêu CC.NET và tôi là một fan hâm mộ lớn của CI, nhưng tôi có hỏi: chỉ với một nhà phát triển trong dự án, kịch bản tích hợp nào tồn tại? Bạn sẽ không chỉ xây dựng toàn bộ dự án trong Visual Studio, phủ nhận sự cần thiết cho CI?

+0

CI không chỉ có nghĩa là biên dịch. Bạn cũng có thể 1. Xóa thư mục nguồn và xây dựng các công trình mới ra một số phụ thuộc và liên kết các vấn đề. 2. Kiểm tra đơn vị, Phân tích tĩnh, Chỉ số mã 3. Kiểm tra giao diện người dùng tự động trên nhiều nền tảng 4. những thứ như D'oxygen 5. Xuất bản hoặc trình cài đặt theo yêu cầu – Alex

+0

Đó là những gì tôi sẽ sử dụng. –

+0

OK, đó là CI bất kể bạn sử dụng cái gì, vì vậy tôi không thấy cách xây dựng nó trong Visual Studio phủ nhận sự cần thiết của CI – Alex

0

Tôi đồng ý rằng CC.NET là một lựa chọn tuyệt vời cho phát triển địa phương/nhà. Tôi muốn thêm rằng nó không đòi hỏi một công cụ SCM để làm cho nó hoạt động. Có một trình theo dõi hệ thống tệp plugin sẽ chỉ giám sát việc thay đổi tệp. Bằng cách đó bạn không cần phải có một check-in để nó thực thi. Ngoài ra, bạn không phải đợi chu kỳ CI hoàn thành, nó giống như việc chạy F6 mọi lúc ngoại trừ IDE không sử dụng tất cả các tài nguyên của nó, bạn có thể giữ mã hóa đi. Nếu nó bị hỏng, bạn có thể chọn điều tra hoặc bỏ qua. Không có cách nào để thực hiện CI.

Nếu bạn tạo các bài kiểm tra đơn vị, việc đó liên tục thực thi với mã của bạn trên mỗi lần lưu chắc chắn có một số ưu điểm trong các vấn đề ban đầu. Sử dụng CCTray cho phép bạn xem nó, nhưng không bị xâm nhập. 2 xu của tôi.

Cuối cùng, thiết lập lần đầu tiên có thể hơi khó khăn, nhưng bạn có thể tinh chỉnh mẫu Visual Studio C# hoặc bất kỳ thứ gì bạn muốn tự động định cấu hình thiết lập CI với lượng thông tin tối thiểu mà người dùng yêu cầu.