
Tích hợp liên tục & Triển khai liên tục (CI/CD Fundamentals)
CI/CD (Continuous Integration & Continuous Delivery/Deployment) là xương sống trong quy trình DevOps hiện đại. Khoá học này giúp học viên hiểu quy trình tự động kiểm thử – đóng gói – triển khai phần mềm thông qua pipeline CI/CD. Học viên sẽ được hướng dẫn triển khai một hệ thống CI/CD thực tế từ đầu với một công cụ mã nguồn mở phổ biến (Jenkins), đồng thời hiểu rõ vai trò của các công cụ tương tự khác như GitLab CI, GitHub Actions, DroneCI…
Thời lượng: 15h

Bạn đạt được gì sau khi hoàn thành khóa học

Hiểu rõ khái niệm, lợi ích và kiến trúc của một hệ thống CI/CD
Bạn sẽ giải thích được tại sao CI/CD là “xương sống” của DevOps, giúp tăng tốc độ phát hành phần mềm, giảm thiểu rủi ro và cải thiện chất lượng sản phẩm.

Tự tay cài đặt, cấu hình và quản trị một máy chủ CI/CD bằng Jenkins
Nắm vững cách thiết lập một hệ thống Jenkins hoàn chỉnh từ đầu, bao gồm quản lý plugins, bảo mật người dùng và kết nối với các hệ thống khác như GitHub.

Viết được các pipeline tự động hóa bằng mã nguồn (Pipeline as Code)
Học cách định nghĩa toàn bộ quy trình build, test, deploy trong một file Jenkinsfile, giúp việc quản lý, sao lưu và nhân bản pipeline trở nên chuyên nghiệp và hiệu quả.

Xây dựng được một quy trình tự động hoàn chỉnh từ lúc lập trình viên đẩy code
Thiết lập webhook để mỗi khi có git push, pipeline sẽ tự động được kích hoạt, chạy kiểm thử, và triển khai ứng dụng mà không cần bất kỳ sự can thiệp thủ công nào.
Tích hợp các bước kiểm thử, gửi thông báo và triển khai vào trong pipeline
Cấu hình pipeline để tự động chạy unit test, gửi thông báo kết quả qua Slack/Email, và thực hiện các bước triển khai ứng dụng lên môi trường máy chủ đích.
Nhận biết và so sánh được Jenkins với các công cụ CI/CD hiện đại khác
Có được cái nhìn tổng quan về hệ sinh thái CI/CD, hiểu được vị trí của Jenkins so với các giải pháp tích hợp sẵn trên cloud như GitLab CI hay GitHub Actions.

Đối tượng tham gia

Kỹ sư DevOps hoặc Quản trị viên hệ thống (SysAdmin) muốn xây dựng và quản lý các quy trình tự động hóa build, test, deploy cho doanh nghiệp.

Lập trình viên (Developer) muốn chủ động trong việc tích hợp, kiểm thử và triển khai ứng dụng của mình, giảm thiểu thời gian chờ đợi và lỗi thủ công.

Kiểm thử viên (QA Engineer) muốn tích hợp các bộ kịch bản kiểm thử tự động của mình vào một quy trình liên tục để phát hiện lỗi sớm nhất có thể.

Trưởng nhóm kỹ thuật (Tech Lead) hoặc Quản lý dự án (Project Manager) muốn hiểu rõ quy trình CI/CD để cải thiện tốc độ và chất lượng giao sản phẩm của đội.

Yêu cầu tiên quyết
- Hiểu Git: branch, commit, push
- Biết viết script bash hoặc Python cơ bản
- Có kiến thức nền về hệ điều hành (Linux) và mạng
Nội dung khóa học
1. Tổng quan về CI/CD và quy trình DevOps hiện đại
- CI/CD là gì? Sự khác biệt giữa CI – CD – CD
- Tại sao tổ chức cần CI/CD?
- Các giai đoạn: Commit → Build → Test → Deploy
- Công cụ phổ biến: Jenkins, GitLab CI, GitHub Actions, CircleCI
- Mô hình tự động hoá DevOps: git push → tự build & deploy
2. Kiến trúc hệ thống CI/CD
- Thành phần trong CI/CD tool:
- Master / Controller
- Agent (worker, runner, executor)
- Pipeline, Stage, Step, Job
- Build server và build agent: chạy ở đâu, điều kiện gì?
- On-premise vs Cloud-based CI/CD
3. Cài đặt và làm quen với Jenkins
- Cài Jenkins trên Linux (Ubuntu, CentOS)
- Quản trị Jenkins:
- Cấu hình plugin: Git, SSH Agent, Pipeline, Blue Ocean
- Tạo user, phân quyền, bảo mật
- Cấu hình plugin: Git, SSH Agent, Pipeline, Blue Ocean
- Tạo Jenkins Job đầu tiên:
- Kiểu Freestyle
- Trigger qua Git push, webhook hoặc schedule (cron)
- Thực thi script shell, build kết quả
- Kiểu Freestyle
4. Jenkins Pipeline: Viết và chạy pipeline tự động
- Declarative Pipeline vs Scripted Pipeline
- Viết Jenkinsfile:
- pipeline, agent, stages, steps
- Điều kiện: when, post, environment
- Làm việc với biến môi trường
- Dùng sh, withCredentials, input…
- Thực hành build app đơn giản từ repo Git
5. Tích hợp kiểm thử, thông báo và triển khai
- Tích hợp test unit: chạy script Python kiểm thử
- Gửi thông báo qua email, Slack (plugin)
- Copy artifact hoặc deploy script thủ công
- Liên hệ với Docker, Ansible (giới thiệu sẵn)
- Giới thiệu GitHub Actions & GitLab CI (so sánh ngắn)
6. Bài thực hành tổng hợp cuối môn
Mục tiêu:
- Tự động hóa pipeline từ GitHub → Jenkins → kiểm thử → triển khai
Yêu cầu:
- Clone 1 repo Python từ GitHub (có cấu trúc thư mục chuẩn, script đơn giản)
- Viết Jenkinsfile để thực hiện:
- Lấy mã nguồn từ GitHub (qua webhook)
- Chạy pytest để kiểm thử
- Build artifact (nếu có)
- Deploy lên server nội bộ (copy file, restart service…)
- Gắn tag release (v1.0.0) từ Jenkins
- Gửi thông báo Slack/email khi job thành công/thất bại

Bài viết liên quan
