Tôi đoán mọi người đồng ý rằng việc xây dựng liên tục và tích hợp liên tục có lợi cho chất lượng của sản phẩm phần mềm. Lỗi được tìm thấy sớm để chúng có thể được khắc phục ASAP. Đối với các bản dựng liên tục, mất vài phút, thường dễ dàng tìm ra người gây ra lỗi. Tuy nhiên, đối với các thử nghiệm tích hợp hàng đêm, mất nhiều thời gian để chạy, đây có thể là một thách thức. Dưới đây là các chi tiết cụ thể về tình huống, mà tôi đang tìm một giải pháp tối ưu:Chính sách sửa lỗi hàng đêm bị hỏng
- Chạy thử nghiệm tích hợp mất hơn 1 giờ. Do đó chúng được chạy qua đêm. Nhiều lần đăng ký diễn ra hàng ngày (nhóm khoảng 15 nhà phát triển) nên đôi khi rất khó tìm ra "thủ phạm" (nếu có).
- Môi trường thử nghiệm tích hợp phụ thuộc vào các môi trường khác (dịch vụ web và cơ sở dữ liệu), đôi khi có thể không thành công. Điều này làm cho các thử nghiệm tích hợp thất bại.
Vậy cách tổ chức nhóm để những lỗi này được khắc phục sớm? Theo ý kiến của tôi, cần có người được chỉ định để DIAGNOSE (các) khiếm khuyết. Đây sẽ là nhiệm vụ đầu tiên vào buổi sáng. Nếu anh ta cần chuyên môn của người khác, họ nên sẵn sàng. Khi nguồn (thành phần, cơ sở dữ liệu, dịch vụ web) của lỗi được xác định, chủ sở hữu nên bắt đầu sửa chữa nó (hoặc một nhóm khác sẽ được thông báo).
Làm cách nào để chỉ định người chẩn đoán lỗi? Lý tưởng nhất, một người nào đó sẽ tình nguyện (ha ha). Điều này sẽ không xảy ra thường xuyên, tôi sợ. Tôi đã nghe tùy chọn khác - bất cứ ai đến trước văn phòng nên kiểm tra kết quả của các bản dựng hàng đêm. Điều này là OK, nếu cả nhóm đồng ý. Tuy nhiên, điều này phần thưởng cho những người đến trễ. Tôi cho rằng vai trò này nên luân phiên trong đội. Lý do "Tôi không biết nhiều về xây dựng" không nên được chấp nhận. Chẩn đoán nguồn gốc của sự thất bại nên khá đơn giản. Nếu không, sau đó thêm nhiều ghi nhật ký chẩn đoán vào mã sẽ cải thiện khả năng hiển thị thành lỗi kiểm tra tích hợp.
Bất kỳ trải nghiệm nào trong lĩnh vực này hoặc đề xuất cải thiện phương pháp trên?
Ngay cả khi kiểm tra tích hợp mất hơn một giờ, nó có thể đáng giá trong ngày cũng như qua đêm - thói quen sẽ là mọi checkin khởi động một bản dựng, trừ khi một người đang chạy (thường là). Điều đó cung cấp cho bạn phản hồi nhanh hơn và chính xác hơn. Nếu bạn thực sự quan tâm, bạn có thể thiết lập hệ thống CI lên để bắt đầu một sự phân chia sau mỗi lần xây dựng không thành công, nơi nó backtracks để tìm chính xác mà checkin đã phá vỡ xây dựng. Thật vậy, điều này rất hữu ích cho một thói quen chỉ có hàng đêm. –