Description: Phân biệt build, Cloudflare Workers và lỗi quy trình triển khai báo thành công giả.
Introduction
Chỉ sửa một trang web rồi đưa lên mạng, tại sao phải đợi hàng chục phút mà nội dung vẫn cũ? Đôi khi thứ gây chậm không phải công đoạn tạo trang, mà là hàng loạt bước kiểm tra trước khi xuất bản.
What is happening?
Build biến bài viết và mã nguồn thành các tệp trình duyệt có thể sử dụng. Cloudflare Workers xử lý yêu cầu truy cập và chạy chương trình khi cần. GitHub Actions và Buildkite có thể chạy lệnh build và triển khai. Gộp tất cả thành câu 'Worker bị dừng' khiến việc tìm lỗi càng khó.
The absurd failure
Hãy tưởng tượng quy trình phải hỏi Worker có được phát hành không, chuyển sang mã mới nhất, chạy lại, kiểm tra thay đổi, xem sổ theo dõi hạn mức miễn phí rồi mới báo cáo. Bước hỏi đầu tiên hết hạn mức nên bị bỏ qua. Bước tiếp theo lại chặn mọi thứ. Không có bản cập nhật nào được đưa lên, nhưng màn hình hiện THÀNH CÔNG. Giống như shipper báo đã giao hàng khi gói đồ vẫn nằm trong kho.
How to tell what failed
Một trăm dòng lỗi đỏ có thể bắt nguồn từ một tệp dùng chung. Ngược lại, build thành công không có nghĩa website đang chạy phiên bản mới. Hãy kiểm tra riêng kết quả build, việc tải lên và phiên bản thực sự xuất hiện tại địa chỉ công khai.
A simpler route
Cách đơn giản hơn là một lệnh chính thức để phát hành Worker và một lệnh để build rồi tải website lên. Mọi công cụ tự động đều gọi cùng các lệnh đó. Không phát hành thì phải báo thất bại kèm lý do; phát hành xong phải kiểm tra trang thật.
Conclusion
Tự động hóa sinh ra để giảm việc cho con người. Cuối cùng con người lại phải chăm sóc tự động hóa. Có lẽ cần bớt cửa kiểm tra, chứ không phải thêm một robot giám sát.
