RobustX / Chương trình học / Vị trí công việc / DevOps Engineer / Tích Hợp Liên Tục & Triển Khai Liên Tục

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

Đối tượng tham gia

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
  • 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ả
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:

  1. Clone 1 repo Python từ GitHub (có cấu trúc thư mục chuẩn, script đơn giản) 
  2. 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…) 
  3. Gắn tag release (v1.0.0) từ Jenkins 
  4. 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