Trong nhóm rất lớn của chúng tôi, chúng tôi cũng gated trong nhánh chính và CI trong các chi nhánh dev/feature (nhiều người trong số họ).
Gated cung cấp bảo vệ nhiều hơn cho chi nhánh nhưng với một nhóm rất lớn và cơ sở mã lớn, nó có thể sao lưu hàng đợi nếu toàn bộ nhóm dev đang thực hiện thay đổi trong nhánh đó.
CI cung cấp sự bảo vệ với sự tin tưởng hơn một chút trong các nhà phát triển cũng biết rằng mọi vấn đề sẽ bị bắt nhanh chóng. Đó là một chút lạc quan hơn và cho phép nhóm di chuyển nhanh hơn rất nhiều, phù hợp với chi nhánh dev.
Trong cả hai trường hợp, các nhà phát triển chạy thử nghiệm đơn vị và kiểm tra mã họ đang thay đổi. CI (ảnh hưởng đến nhóm) và Gated (tiêu tốn thời gian trong hàng đợi) không nên thay thế kiểm thử - có một lời giải thích hợp lý phức tạp hơn tôi không thử.
Toàn bộ nhóm nằm trong chi nhánh/dev sử dụng CI cho phần lớn chu kỳ và ở các nhánh cao hơn với nhiều người hơn trong quá trình ổn định trò chơi cuối cùng - cả hai điều kiện sau đều hỗ trợ cho trường hợp bị kiểm soát. Trong một nhóm lớn, chúng tôi cũng cần phải xây dựng CI và các bài kiểm tra cán phải được thực hiện song song để tìm các vấn đề nhanh hơn khi thời gian xây dựng không phải là tầm thường và các bộ thử nghiệm đầy đủ cũng không phải là tầm thường. Trong kịch bản đó, các folks đang kiểm tra, CI sẽ lấy lô kiểm tra cuối cùng, chạy một bản dựng và khi một bản vẽ hạ xuống, một máy khác đang chọn và chạy các bộ kiểm thử.
Bạn có thể giải thích theo cách của riêng bạn, sự khác biệt giữa một công trình TRIGGERED và thực hiện TƯƠNG LAI TƯƠNG LAI? – kroonwijk
Kroonwijk; Tôi đã sửa lại câu hỏi của mình. Nó sẽ nói Gated Check-in, không được kích hoạt. –
Cảm ơn! Bây giờ nó là rõ ràng. – kroonwijk