Continuous Integration (CI) là thực hành lập trình viên thường xuyên merge code của họ vào một repository chung, nơi mỗi lần tích hợp được tự động kiểm tra (build và test). Nó phát hiện vấn đề sớm và giữ codebase ở trạng thái lành mạnh, hoạt động tốt.
Thực hành cốt lõi
Lập trình viên tích hợp code THƯỜNG XUYÊN (ít nhất hàng ngày) vào nhánh chung/main:
→ mỗi lần tích hợp được TỰ ĐỘNG build và test (bởi một CI server/pipeline)
→ vấn đề được phát hiện NGAY LẬP TỨC (trên mỗi thay đổi nhỏ, không phải sau vài tuần)
→ so với cách cũ: lập trình viên làm việc biệt lập trong thời gian dài → "integration
hell" đau đớn khi cuối cùng merge công việc đã phân kỳ (nhiều xung đột, bất ngờ, bug).
