Kho mã Flutter nào rồi cũng mọc ra một file .github/workflows/ci.yml chứa flutter test . Nó pass, mọi người thấy yên tâm, rồi một bản build phát hành hỏng trên máy build vì lý do mà không laptop nào có thể lộ ra. CI đáng đồng tiền khi nó bắt được những lỗi mà môi trường phát triển cục bộ về mặt cấu trúc không thể bắt: mã sinh cũ, một phụ thuộc chỉ resolve được nhờ pub cache trên máy bạn, một thay đổi định dạng chưa ai chạy, một golden đã trôi. Đây là pipeline dựng quanh những thứ đó. Hình dạng tổng thể Bốn job, chia hai đợt: Job Chạy khi Bắt được analyze mọi push và PR lệch định dạng, hồi quy lint, mã không dùng test mọi push và PR lỗi unit, widget và golden build PR vào main và tag lỗi biên dịch chỉ xảy ra trên máy sạch release chỉ tag ký, tải artifact lên analyze và test chạy song song và nhanh. build chậm nên bị chặn cổng. Sự phân chia đó quan trọng: một pipeline mà mỗi lần push đều phải chờ tám phút build Android là pipeline mà người ta sẽ học...