Về cơ bản, đây là một vấn đề mở rộng. Bạn tách công việc của mình thành các mô-đun, có thể là các dự án khác nhau và / hoặc các chức năng khác nhau của sản phẩm.
Bạn sẽ có các nhóm bao gồm các bộ mô-đun đó. Mỗi nhóm trong số đó sẽ có chu trình CI được thiết lập cho phạm vi của họ và chỉ sau khi chu kỳ tương ứng của họ vượt qua, mã sẽ được đẩy sang repos chính, nơi chu trình CI chính sẽ được chạy.
Chu trình CI chính rất có thể sẽ khác với chu trình CI cấp độ nhóm trong các khía cạnh sau:
- Các chu trình CI cấp độ nhóm không phải xây dựng mã của toàn bộ công ty, chỉ những mô-đun mà chúng chịu trách nhiệm và các mô-đun phụ thuộc. Nếu có hai mô-đun hoàn toàn độc lập và trong các nhóm khác nhau, chúng sẽ không nằm trong chu trình CI của nhóm khác.
- Các chu trình CI cấp độ nhóm có thể có các thử nghiệm tự động chi tiết hơn nhiều so với chu trình CI chính. Chu trình Master CI sẽ có các kiểm tra kiểm tra độ tỉnh và kiểm tra hồi quy, tùy thuộc vào kích thước của giải pháp chính, được chạy hàng ngày hoặc thậm chí hàng tuần, vì các thử nghiệm này đôi khi có thể mất hơn 24 giờ để thực hiện.
Những gì bạn phải làm với phương pháp này là cung cấp đẩy tự động từ repos cục bộ sang repo trung tâm khi chu trình CI cục bộ trôi qua, vì sợ các nhà phát triển của bạn dành thời gian khổng lồ để đẩy mã lên repos trung tâm.