2008-10-14 39 views
7

Câu hỏi dành cho người mới bắt đầu, hãy theo tôi: Tôi chỉ tự hỏi trong hoàn cảnh nào người ta nên sử dụng công cụ xây dựng như nant hoặc msbuild? Tôi đang làm việc trên một ứng dụng có kích thước trung bình (.net 3.0), mọi nhà phát triển đều đang thực hiện công việc của mình và xây dựng trên máy tính của mình kiểm tra các thay đổi mã của anh ta vào kho lưu trữ khi anh ta đi. Khi chúng ta đã hoàn tất, tôi sẽ lấy tất cả mã từ kho lưu trữ, tạo một bản dựng sạch trên máy của tôi và chúng tôi triển khai các tệp nhị phân. Chỉ cần ra khỏi tò mò, nơi có công cụ xây dựng trong?Khi nào cần sử dụng công cụ xây dựng?

Trả lời

14

Câu trả lời ngắn gọn là luôn luôn.

Mỗi nhà phát triển nên xây dựng bằng cách sử dụng tập lệnh xây dựng trước khi kiểm tra mã. Những người xây dựng bản phát hành phải sử dụng tập lệnh xây dựng để xây dựng bản phát hành. Buildbots của bạn nên sử dụng kịch bản xây dựng để xây dựng và kiểm tra mã đã được kiểm tra.

Làm điều này cho phép tất cả các nhà phát triển, người thử nghiệm và buildbots có một bản dựng nhất quán, lặp lại. Xét cho cùng, The F5 Key Is Not a Build Process.

+0

Điều này không quá khắc nghiệt? Có thực sự đáng giá không, ví dụ: chi tiêu 20 phút trên một kịch bản xây dựng cho một dự án thăm dò một người đàn ông 2 ngày mà sau khi hoàn thành sẽ được lưu trữ và không bao giờ nhìn thấy một lần nữa? – ddimitrov

+1

@ddimitrov: vâng, nó rất đáng giá. Tôi đặt cược 99% thời gian, rằng "2 ngày exporation" sẽ kết thúc trở thành một phần quan trọng của mã sản xuất (có thể là một công cụ nội bộ, không phải là một sản phẩm, nhưng vẫn còn quan trọng). – rmeador

+0

Liên kết mã hóa bị hỏng và giờ chuyển hướng đến trang chính của trang web. Bài viết được tham chiếu có thể tìm thấy tại https://blog.codinghorror.com/the-f5-key-is-not-a-build-process/ –

0

Nếu bạn muốn tự động hóa bất cứ điều gì tốt để sử dụng nant/msbuild. Ví dụ: 1. kiểm tra trong 2. xây dựng 3. kiểm tra và mã bảo hiểm

0

Bạn đang phát triển với Visual Studio? Trong trường hợp đó, bạn đã sử dụng msbuild, vì đó là công cụ xây dựng cơ bản của Visual Studio. Trên thực tế, một tập tin dự án Visual Studio là không có gì nhiều hơn một kịch bản msbuild.

Ngoài ra, bạn có thể sử dụng công cụ xây dựng trên hệ thống xây dựng chuyên dụng để các tệp nhị phân của bạn có thể được xây dựng không cần giám sát và không cài đặt Visual Studio. Bạn cũng có thể sử dụng nó để kiểm tra đơn vị.

2

Tôi nghĩ mọi ứng dụng không tầm thường đều cần 'công cụ xây dựng'. Chúng tôi sử dụng thuật ngữ Continuous Integration nơi tôi làm việc. Có những trường hợp rất đặc biệt (ví dụ: tôi đang xây dựng một ứng dụng mẫu để tìm hiểu cách tính năng X hoạt động), nhưng ngoài những tính năng đó, bạn sẽ không bao giờ hối tiếc khi có quá trình xây dựng vững chắc.

Tôi đoán rằng nếu nhóm phát triển được tạo thành từ một người ... Tôi muốn vẫn thiết lập hệ thống xây dựng bao gồm kho lưu trữ, công cụ xây dựng và nhiều bộ kiểm tra. Có, duy trì hệ thống xây dựng tốn thời gian và tiền bạc, nhưng nó sẽ trả hết (tôi đã làm việc 40 tháng nay trong một dự án bắt đầu với 6 nhà phát triển và bao gồm khoảng 30 nhà phát triển ngay bây giờ; số lần) về kiểm soát chất lượng và các vấn đề về chất lượng sớm hơn được phát hiện, cheape họ sẽ sửa.

+0

Tích hợp liên tục (thứ mà tôi hiện đang giúp triển khai ở công việc hiện tại của tôi) hơi khác một chút so với chỉ có công cụ xây dựng, mặc dù không thể thực hiện nếu không có bản dựng tự động :) – workmad3

4

Công cụ xây dựng nên được sử dụng khi quy trình xây dựng của bạn trở nên dài hơn một lệnh. Nó nên được sử dụng để có được quá trình xây dựng tiêu chuẩn của bạn trở lại thành một lệnh. Nếu quá trình xây dựng của bạn dài hơn một lệnh, thì bạn có cơ hội cho các lỗi xuất hiện từ các lệnh bị bỏ lỡ/trùng lặp/không chính xác trong quá trình xây dựng.

0

Đồng ý và mở rộng câu trả lời của zacherates ... Có, bạn nên luôn có một số quy trình xây dựng lặp lại. Trong khi các dự án Visual Studio về mặt kỹ thuật là các tệp MSBuild, thì tốt hơn là phải có quy trình xây dựng "chính thức" riêng biệt với môi trường phát triển.

Trong tâm trí của tôi, điều này đúng bất kể nhóm lớn hay nhỏ. Tôi sử dụng NAnt và CruiseControl.NET tại nhà, trong đó tất cả những gì tôi có xu hướng làm việc là các dự án và thử nghiệm cào. Tại nơi làm việc, chúng tôi sử dụng một thiết lập tương tự, nhưng có cấu trúc hơn một chút về cách các tập lệnh NAnt được đặt cùng nhau.

Chắc chắn đáng để bạn dành thời gian xem xét.Nó không phải là một chữa bệnh-tất cả, nhưng nó là một thực hành tốt nhất cho biết chính xác mà xây dựng đã được phát hành khi, và những gì trong tự nhiên. Việc có thể xác định mã được biên dịch của bạn là một nửa trận chiến khắc phục sự cố! :)

6

Có vẻ như bạn đang sử dụng IDE để thực hiện bản dựng của mình. Về bản chất nó là một công cụ xây dựng; bạn đã sử dụng một cái. Bạn nên chuyển đổi công cụ khi một trong những bạn đang sử dụng sẽ trở thành một vấn đề hơn là một giải pháp.

2

Khi bạn bắt đầu thực hiện bản phát hành hoặc khi quá trình xây dựng của bạn vượt quá số bước thủ công nhất định (bạn sẽ nhận thấy khi bắt đầu gây phiền toái.) Tôi đã viết một số blog entry cũ về chủ đề này mà bạn có thể thấy thú vị.

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