Examples
Các ví dụ nhỏ, chạy được, bổ trợ cho bài lab. Mỗi thư mục có README giải thích cách chạy, kết quả mong đợi và buổi học liên quan. Ví dụ hoàn chỉnh nằm ở starter-project/.
| Thư mục | Nội dung | Tuần |
|---|---|---|
| linux | access.log để thực hành xử lý log, permissions-lab.sh (sandbox user/group/quyền), resource-check.sh | 1-2 |
| docker | nginx-demo, hello-node (naive và optimized), network-lab, postgres-volume | 3-5 |
| compose | web-db-basic, healthcheck-restart | 5-6 |
| github-actions | Sáu workflow mẫu: CI, matrix, integration, publish GHCR, security scan, deploy dispatch | 9-12 |
| kubernetes | Manifest 01-08, kind-3-nodes.yaml, deploy-local.sh | 13-16 |
| vibe | Track Vibe Deploy: static-site, vercel-api, netlify-function, cloudflare-pages-function, supabase, firebase, club-landing. Đi kèm track Vibe Deploy | độc lập |
| troubleshooting-scenarios.md | Mười tình huống lỗi để luyện chẩn đoán | xuyên suốt |
Quy ước chung
- Làm việc trong filesystem của WSL2 (ví dụ
~/devops-labs), không dùng/mnt/c. - Image luôn pin phiên bản; không có secret thật. Mật khẩu minh họa phải được thay bằng giá trị riêng của bạn qua
.env(không commit). - Các ví dụ Docker dùng cổng 38080-38099 và 35432 trên máy host để tránh xung đột với starter project (8080, 3000, 5432).
- Mọi ví dụ đều có bước dọn dẹp. Hãy chạy nó khi xong để giải phóng tài nguyên.