Skip to content

Syllabus – From Code to Deployment ​

16 tuần · 32 buổi · 2 buổi/tuần · 120 phút/buổi · 64 giờ · Local-first · Hands-on

Triết lý: Learn → Build → Break → Debug → Deploy → Explain.

Quy ước mỗi buổi: 15' ôn tập, 30' kiến thức, 60' thực hành, 15' review. Mỗi bài lab có hai mức: L1 – Foundation và L2 – Engineering (xem learning-outcomes.md).

Lưu ý buổi 19: khóa học local-only, không expose máy học viên ra Internet. Hosted runner chỉ build/publish image; triển khai vào máy local bằng script hoặc self-hosted runner nội bộ.

Phase 1 – Engineering Foundation ​

Tuần 1–3 · 6 buổi · 12 giờ · Linux, Terminal, Networking, Git, GitHub

BuổiChủ đềNội dungHands-on Lab
01DevOps IntroductionSDLC, DevOps culture, Dev vs Ops, CI/CD, Infrastructure as Code, deployment lifecycleVẽ quy trình triển khai một ứng dụng từ máy lập trình đến server
02Development EnvironmentWindows, WSL2, Linux, Terminal, Shell, package manager, filesystemCài WSL2 Ubuntu, thiết lập môi trường thực hành
03Linux CLIpwd, ls, cd, find, grep, cat, less, head, tail, pipingTạo cấu trúc thư mục, tìm kiếm file, phân tích log
04Linux AdministrationUser, Group, chmod, chown, process, systemctl, environment variablesTạo user, phân quyền thư mục, quản lý process
05Networking FundamentalsIP, subnet, DNS, TCP/UDP, port, HTTP/HTTPS, localhost, loopbackDùng ping, curl, nslookup, ss kiểm tra kết nối
06Git & GitHub WorkflowRepository, commit, branch, merge, PR, conflict, code review, .gitignoreTạo repository nhóm, thực hành feature branch và Pull Request

Deliverables

  • Repository cá nhân
  • Linux CLI Cheat Sheet
  • Sơ đồ Git workflow
  • Báo cáo thực hành networking
  • Pull Request đầu tiên được review

Phase 2 – Docker & Containerization ​

Tuần 4–7 · 8 buổi · 16 giờ · Docker, Dockerfile, Image, Volume, Network, Compose

BuổiChủ đềNội dungHands-on Lab
07Container FundamentalsVM vs Container, Docker Architecture, Docker Engine, Image, Container, RegistryCài Docker Desktop, chạy container Nginx
08Docker CLIdocker run, ps, exec, inspect, logs, stop, rm, pull, pushChạy, kiểm tra và debug một container
09DockerfileFROM, WORKDIR, COPY, RUN, ENV, EXPOSE, CMD, ENTRYPOINT, build contextViết Dockerfile cho Node.js API
10Image OptimizationImage layers, caching, .dockerignore, multi-stage build, image taggingTối ưu Docker Image và so sánh kích thước
11Container NetworkingBridge network, port mapping, container DNS, network isolationCho hai container giao tiếp qua Docker Network
12Persistent StorageVolume, bind mount, tmpfs, database persistence, backupChạy PostgreSQL và đảm bảo dữ liệu không mất khi recreate container
13Docker ComposeCompose YAML, services, depends_on, environment, networks, volumesKhởi chạy Frontend + API + PostgreSQL
14Production-minded ComposeHealthcheck, restart, resource limits, secrets, logging, troubleshootingHoàn thiện hệ thống Compose, xử lý lỗi database chưa sẵn sàng

Deliverables

  • Dockerfile cho ứng dụng
  • .dockerignore
  • compose.yaml
  • PostgreSQL volume persistence
  • Tài liệu giải thích kiến trúc container

Phase 3 – CI/CD & Automation ​

Tuần 8–10 · 6 buổi · 12 giờ · GitHub Actions, GHCR, automated testing, image publishing, pipeline security

BuổiChủ đềNội dungHands-on Lab
15CI/CD FundamentalsContinuous Integration, Delivery, Deployment, Pipeline, Artifact, Runner, TriggerVẽ CI/CD pipeline cho ứng dụng
16GitHub Actions BasicsWorkflow, YAML, Events, Jobs, Steps, Runner, Marketplace ActionsViết workflow tự động chạy khi push code
17Automated TestingUnit Test, Integration Test, Test Report, Build ValidationThiết lập test trước khi merge
18Docker CI PipelineDocker Build, Buildx, cache, tagging, GHCR, authenticationTự động build và publish image lên GHCR
19CD & Deployment StrategiesContinuous Deployment, environment, secrets, approval, rollback, deployment strategyViết workflow/script deploy image lên môi trường local
20Pipeline SecurityLeast Privilege, permissions, secret management, dependency scanning, SBOM, image scanningKiểm tra workflow permissions và quét image

Deliverables

  • .github/workflows/ci.yml
  • .github/workflows/publish.yml
  • Docker image trên GHCR
  • Test report
  • Tài liệu giải thích pipeline

Phase 4 – Kubernetes & kubectl ​

Tuần 11–14 · 8 buổi · 16 giờ · Kubernetes, kubectl, Workloads, Networking, Storage, Troubleshooting

BuổiChủ đềNội dungHands-on Lab
21Kubernetes IntroductionContainer orchestration, architecture, Control Plane, Worker Node, API Server, Scheduler, etcd, kubeletCài kind và tạo cluster local
22Pods & DeploymentsPod lifecycle, YAML manifest, ReplicaSet, Deployment, labels, selectorsDeploy API lên Kubernetes
23kubectl FundamentalsContext, namespace, get, describe, apply, delete, logs, exec, port-forwardQuản lý workload bằng kubectl
24Kubernetes ServicesClusterIP, NodePort, LoadBalancer, Service Discovery, DNSKết nối Frontend với Backend thông qua Service
25Configuration ManagementConfigMap, Secret, environment variables, mounted configurationTách cấu hình khỏi Docker Image
26Resource & HealthRequests, Limits, Liveness, Readiness, Startup Probe, QoSMô phỏng OOMKilled và lỗi healthcheck
27Storage & IngressPV, PVC, StorageClass, Ingress Controller, HTTP routingDeploy PostgreSQL với PVC và cấu hình ingress
28Kubernetes OperationsRollout, rollback, scale, events, troubleshooting, CrashLoopBackOff, ImagePullBackOffPhá lỗi một cluster mẫu và khôi phục hệ thống

Deliverables

  • Kubernetes Deployment manifests
  • Service manifests
  • ConfigMap và Secret
  • PVC cho database
  • Ingress
  • Troubleshooting report

Phase 5 – Capstone Project ​

Tuần 15–16 · 4 buổi · 8 giờ · Hoàn thiện sản phẩm, kiểm thử, trình bày, đánh giá

BuổiChủ đềNội dungHands-on Lab
29Architecture & PlanningRequirement, architecture, container design, CI/CD design, task breakdownThiết kế kiến trúc và chia task cho nhóm
30ImplementationDocker, Compose, Kubernetes, GitHub Actions, testingHoàn thiện dự án
31Testing & TroubleshootingDeployment test, failure injection, logs, security checklist, performance basicsKiểm thử và khắc phục các lỗi được giao
32Final Demo & ReviewProduct demo, pipeline walkthrough, architecture presentation, lessons learnedTrình bày sản phẩm và bảo vệ kỹ thuật

Deliverables

  • Repository nhóm hoàn chỉnh
  • README + Architecture Diagram
  • Demo + technical defense

HCMUTE DSC – DevOps Learning Program.