Blog
Thoughts on engineering, design, and building great products.
Những Chỗ Tutorial GitHub Actions Hay Bỏ Qua
Sau khi có pipeline đầu tay từ Part 1, bài này điểm 9 chỗ mà tutorial CI/CD cơ bản hay bỏ qua: concurrency control (kèm gotcha github.ref), quy tắc nhánh đọc file YAML cho các event ngoại cảnh, họ workflow_* (dispatch, call, run kèm head_sha gotcha), cache dependencies, matrix strategy, Docker Hub thay vì build trên server, permissions cho GITHUB_TOKEN, OIDC cho AWS (bỏ SSH key dài hạn), và environment + required reviewers.
Khái Niệm CI/CD Và Pipeline Đầu Tay Trên AWS EC2
Hướng dẫn từng bước triển khai web React + Node.js lên AWS EC2 bằng Docker, kèm thiết lập CI/CD tự động với GitHub Actions. Bài đi từ khái niệm CI/CD, phân biệt Continuous Delivery vs Deployment, các stage chuẩn của pipeline (Source -> Build -> Test -> Quality Gate -> Package -> Deploy -> Verify), thuật ngữ GitHub Actions, các chiến lược deploy phổ biến, rồi dựng pipeline đầu tay end-to-end. Phù hợp người mới làm quen DevOps.
CI/CD: Tự Động Hóa Build, và Deploy Canary Có Rollback
Suốt series ta deploy bằng cách gõ sam deploy tay. Bài này dựng CI/CD: một workflow GitHub Actions tự build và kiểm template mỗi lần push, và deploy an toàn bằng canary qua CodeDeploy, dịch dần traffic và tự rollback nếu alarm lỗi kêu. Kèm hai cái bẫy thật gặp khi dựng: esbuild không có trên PATH của CI, và phụ thuộc vòng giữa hàm và alarm.
Capstone (2): Pipeline Production Hoàn Chỉnh
Khép series: một pipeline đưa code từ commit CodeCommit, qua build và test, qua cổng phê duyệt, rồi blue/green deploy lên Auto Scaling Group sau ALB — chạy thật end-to-end, một commit thành một bản production zero-downtime. Rồi dọn sạch toàn bộ và tổng kết cả series cùng lộ trình đi tiếp.
Capstone (1): Dựng Hạ Tầng Đích Bằng CLI
Mở capstone: ráp lại mọi mảnh hạ tầng đã học thành môi trường production đích cho pipeline hoàn chỉnh. Launch template và Auto Scaling Group sau một Application Load Balancer, một deployment group blue/green với rollback — tất cả bằng AWS CLI. Bài sau sẽ nối một pipeline chạy thẳng vào hạ tầng này.
Chất Lượng và Thông Báo Trong Pipeline
Pipeline cần hai thứ nữa để dùng thật: chạy test/scan như cổng chặn (code hỏng không tới được Deploy) và bắn thông báo trạng thái để không ai phải ngồi nhìn console. Bài này dùng test trong stage Build làm cổng, rồi dựng notification rule đẩy sự kiện pipeline ra SNS — đọc thông báo thật qua SQS để chứng minh chuỗi hoạt động.
Pipeline Thực Dụng: Approval Gate, Song Song, và Trigger
Một pipeline chạy được chưa phải pipeline dùng được ở công ty. Bài này thêm ba thứ thực dụng: cổng phê duyệt thủ công chặn deploy tới khi có người bấm duyệt (demo thật bằng CLI), chạy nhiều action song song bằng runOrder, và lọc trigger để pipeline chỉ chạy với đúng nhánh — tận dụng pipeline type V2.