Chúng tôi có ba bộ thử nghiệm:
- Một bộ "nhỏ", chỉ mất vài giờ để chạy
- Một bộ "vừa" mất nhiều giờ, thường được chạy mỗi đêm (hàng đêm)
- Một bộ "lớn" mất một tuần + để chạy
Chúng tôi cũng có một loạt các bộ thử nghiệm ngắn hơn, nhưng tôi không tập trung vào chúng ở đây.
Phương pháp hiện tại là chạy bộ nhỏ trước mỗi lần xác nhận vào thân cây. Sau đó, bộ công cụ trung bình chạy mỗi đêm, và nếu vào buổi sáng thì nó bị lỗi, chúng tôi cố gắng cách ly những cam kết của ngày hôm qua là đổ lỗi, khôi phục lại cam kết và thử lại các bài kiểm tra. Một quy trình tương tự, chỉ với tần suất hàng tuần thay vì tần suất hàng đêm, được thực hiện cho bộ lớn.
Thật không may, bộ trung bình không thất bại khá thường xuyên. Điều đó có nghĩa là thân cây thường không ổn định, điều này cực kỳ khó chịu khi bạn muốn thực hiện sửa đổi và kiểm tra chúng. Thật khó chịu vì khi tôi kiểm tra từ thân cây, tôi không thể biết chắc chắn nó ổn định và nếu thử nghiệm thất bại tôi không thể biết chắc chắn đó có phải là lỗi của tôi hay không.
Câu hỏi của tôi là, có một số phương pháp được biết đến để xử lý các loại tình huống này theo cách sẽ khiến thân cây luôn ở trạng thái tốt nhất? ví dụ: "cam kết vào một nhánh preommit đặc biệt, sau đó sẽ định kỳ cập nhật thân cây mỗi khi đêm trôi qua".
Và có vấn đề gì không nếu nó là một hệ thống kiểm soát nguồn tập trung như SVN hoặc một hệ thống phân tán như git?
Nhân tiện, tôi là một nhà phát triển cơ sở với khả năng thay đổi mọi thứ hạn chế, tôi chỉ cố gắng hiểu liệu có cách nào để xử lý nỗi đau này mà tôi đang trải qua.