Trong dự án mà tôi đang làm việc, chúng tôi đang sử dụng SVN với chiến lược 'Ổn định'. Điều đó có nghĩa là đối với mỗi lỗi được tìm thấy, QA mở một bug ticket
và gán nó cho một nhà phát triển. Sau đó, một nhà phát triển bản sửa lỗi mà lỗi và kiểm tra nó trong một chi nhánh (off thân cây, chúng ta hãy gọi đây là bug branch
) và chi nhánh đó sẽ chỉ chứa sửa cho rằng đặc biệt bug ticket
Tích hợp liên tục với nhiều nhánh phát triển trong Subversion
Khi chúng tôi quyết định làm một thông cáo, đối với mỗi sửa lỗi mà chúng tôi muốn phát hành cho khách hàng, nhà phát triển sẽ hợp nhất tất cả các bản sửa lỗi từ một số bug branch
thành trunk
và tiếp tục với chu kỳ QA thông thường.
Vấn đề là chúng ta sử dụng trunk
như codebase cho công việc CI của chúng tôi (Hudson, cụ thể), và do đó, cho tất cả các cam kết các bug branch
, nó sẽ bỏ lỡ việc xây dựng hàng ngày cho đến khi nó được sáp nhập vào trunk
khi chúng tôi quyết định phát hành phiên bản mới của phần mềm. Rõ ràng, điều đó đánh bại mục đích của việc có CI.
Cách thích hợp để khắc phục vấn đề này là gì?
Tôi thường nói bạn sẽ thiết lập CI cho các chi nhánh của bạn, nhưng tôi đặt cược bạn có quá nhiều. Bạn biết bạn có một chính sách khá bất thường về điều này. Nó không phải là điển hình để tạo ra 1 chi nhánh cho mỗi sửa chữa lỗi đặc biệt là với SVN. –