𝗧𝗵𝗲 𝗗𝗮𝗿𝗸 𝗦𝗶𝗱𝗲 𝗢𝗳 𝗗𝗲𝗽𝗹𝗼𝗱𝗺𝗲𝗻𝘁 𝗔𝗨𝗧𝗢𝗠𝗔𝗧𝗜𝗢𝗡 MẶT TỐI CỦA TỰ ĐỘNG HÓA TRIỂN KHAI
Bạn thiết lập tự động hóa và viết mã nguồn. Bạn kết nối các kho lưu trữ và cấu hình các trình kích hoạt. Mọi thứ đều hoạt động tốt ở môi trường staging. Nhưng rồi production lại gặp sự cố vào lúc 11 giờ đêm thứ Sáu.
Hầu hết các đội ngũ đều có môi trường staging không giống với production. Họ sử dụng các dịch vụ giả lập (mocked services) và các bản sao lưu cơ sở dữ liệu cũ. Các cấu hình hạ tầng thường đã lỗi thời.
Nhiều đội ngũ phải đối mặt với các bài kiểm tra không ổn định (flaky tests). Những bài kiểm tra này có thể vượt qua vào ngày hôm nay nhưng lại thất bại vào ngày mai mà không có bất kỳ thay đổi nào về mã nguồn.
Khi các khóa API bị viết cứng (hardcoded) hoặc các biến môi trường được quản lý khác nhau, việc triển khai sẽ gặp lỗi theo những cách rất khó chẩn đoán.
Một đợt triển khai thành công không phải là vạch đích. Đó là điểm khởi đầu của một vòng lặp phản hồi. Hãy hỏi đội ngũ của bạn: nếu một bản triển khai lỗi xảy ra trên production, sẽ mất bao lâu để thực hiện rollback?
Sự cố của pipeline CI/CD thường bắt nguồn từ việc thiếu kế hoạch phục hồi. Bạn cần triển khai blue-green, các artifact có phiên bản và các trình kích hoạt rollback tự động.
Không phải mọi thất bại đều là vấn đề kỹ thuật. Một số nguyên nhân đến từ việc không rõ trách nhiệm quản lý hoặc thiếu các tài liệu hướng dẫn vận hành (runbooks).
Tự động hóa nên giúp việc phát hành sản phẩm trở nên an toàn và nhanh chóng hơn. Nhưng nó chỉ hiệu quả khi đội ngũ trung thực về những điểm yếu của mình.
Hãy xây dựng pipeline của bạn như thể nó thực sự quan trọng.
Nguồn: https://dev.to/sygitech/when-your-deployment-automation-becomes-the-problem-d4o