Blog
Thoughts on engineering, design, and building great products.
CodeBuild Nâng Cao: Biến Môi Trường, Secret và Cache
Build thật cần config và secret: URL API, khóa, mật khẩu database. Bài này truyền chúng vào CodeBuild đúng cách — biến thường khai trực tiếp, còn giá trị nhạy cảm lấy từ SSM Parameter Store và Secrets Manager, được CodeBuild tự che trong log. Kèm bật cache để build nhanh hơn. Tất cả test thật và xem log.
CodeBuild: Project, buildspec.yml và Lần Build Đầu Tiên
Dựng chặng build: tạo một CodeBuild project nối tới repo CodeCommit, viết buildspec.yml định nghĩa các phase build, chạy build thật rồi đọc log CloudWatch để thấy từng phase chạy ra sao. Mổ cơ chế CodeBuild dựng một container tạm, chạy buildspec theo thứ tự phase, đẩy artifact lên S3 và log lên CloudWatch.
CodeCommit: Nguồn Code Cho Pipeline
Dựng chặng source: tạo repo CodeCommit, kết nối Git bằng git-remote-codecommit (dùng credential AWS, không cần lưu mật khẩu Git riêng), đẩy một ứng dụng mẫu lên, rồi đi qua luồng branch và pull request bằng AWS CLI. Đây là nơi code sống và là điểm khởi đầu cho mọi lần chạy pipeline ở các bài sau.
Nền Tảng: IAM Service Role và S3 Artifact Bucket
Trước khi dựng pipeline, cần hai thứ nền: các IAM service role để dịch vụ AWS được phép làm việc thay bạn, và một bucket S3 chứa artifact. Bài này mổ cơ chế service role và trust policy — vì sao một dịch vụ assume role để có quyền tạm thời thay vì lưu khóa — rồi tạo role cho CodeBuild và bucket artifact (bật versioning) bằng AWS CLI.
CI/CD Là Gì và Bộ Developer Tools Của AWS
Bài mở đầu series: vì sao deploy bằng tay sớm muộn cũng vỡ, CI và CD khác nhau ra sao, và AWS có những dịch vụ nào để dựng pipeline — CodeCommit, CodeBuild, CodeDeploy, CodePipeline, CodeArtifact. Cách các mảnh ghép lại thành một dây chuyền đưa code từ commit tới khi chạy trên EC2, tất cả điều khiển bằng AWS CLI.
CI/CD Cho Terraform: GitHub Actions, OIDC, và Quét Chất Lượng
Đưa Terraform vào pipeline: plan tự động trên pull request, apply khi merge, xác thực AWS bằng OIDC không cần lưu access key. Gắn bộ quét chất lượng fmt, validate, tflint, Trivy và Checkov vào pipeline — với output thật cho thấy chúng bắt ra những lỗ hổng gì.
CI/CD với GitHub Actions: Tự Động Build và Deploy lên AWS
Dựng một pipeline: mỗi lần push code lên GitHub, hệ thống tự build Docker image, đẩy lên ECR và deploy lên EC2. Dùng OIDC để khỏi lưu AWS access key trong GitHub.