Blog
Thoughts on engineering, design, and building great products.
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.
CodePipeline: Nối Source, Build, Deploy Thành Dây Chuyền
Tới giờ mỗi chặng chạy bằng tay. CodePipeline nối chúng thành một dây chuyền tự động: Source kéo code từ CodeCommit, Build gọi CodeBuild, Deploy gọi CodeDeploy — artifact chảy từ stage này sang stage kia. Bài này dựng pipeline đầu tiên, chạy thật, và mổ cách artifact truyền giữa các stage.
Blue/Green Deploy Với ALB và Rollback Tự Động
Deploy in-place có một khoảng máy offline. Blue/green tránh điều đó: dựng một fleet mới (green) song song, kiểm tra, rồi chuyển traffic qua bằng load balancer — blue vẫn còn nguyên để quay về tức thì. Bài này dựng ALB, đổi deployment group sang blue/green, chạy thật (kèm một lỗi IAM rất thực tế), và cấu hình rollback tự động theo CloudWatch alarm.
Deploy Lên Auto Scaling Group và Deployment Config
Từ một instance lên nhiều: deploy lên Auto Scaling Group. Tạo launch template và ASG, gắn deployment group vào ASG, rồi chọn deployment config (OneAtATime, HalfAtATime, AllAtOnce) để điều khiển deploy lần lượt hay đồng loạt. Và cơ chế quan trọng: CodeDeploy tự deploy bản mới nhất lên instance mà ASG khởi thêm về sau.