TỔNG QUAN VỀ CI/CD & CHUẨN BỊ MÔI TRƯỜNG

Mục tiêu bài học

  • Hiểu rõ CI/CD là gì và tại sao nó quan trọng trong quy trình DevOps
  • Phân biệt giữa Continuous Integration, Delivery và Deployment
  • Cài đặt và chuẩn bị GitHub để thực hành CI/CD
  • Tạo repository đầu tiên có thể dùng cho pipeline

1. CI/CD là gì?

CI – Continuous Integration (Tích hợp liên tục)

Là quá trình tự động hóa việc:

  • Kiểm tra code (lint, test) mỗi khi có thay đổi
  • Build phần mềm để phát hiện lỗi sớm

👉 Mục tiêu: Code đẩy lên phải luôn ở trạng thái “ổn định”


CD – Continuous Delivery / Deployment

  • Continuous Delivery: Tự động chuẩn bị bản release, người dùng bấm nút để deploy
  • Continuous Deployment: Tự động deploy lên server mỗi khi pass test

👉 Mục tiêu: Phát hành phần mềm nhanh, ổn định, không cần thao tác tay


2. Lợi ích khi áp dụng CI/CD

Vấn đề cũKhi có CI/CD
Deploy thủ công dễ lỗiTự động hóa, ít lỗi
Khó kiểm soát releaseCó quy trình rõ ràng
Sợ merge code nhiềuMerge xong test liền
Phát hành chậmCó thể release nhiều lần/ngày

3. Các công cụ phổ biến trong CI/CD

Mục đíchCông cụ
CI/CD pipelinesGitHub Actions, GitLab CI, Jenkins
Build/Testnpm, pytest, Maven…
ContainerDocker
DeploySSH, Render, Railway, K8s

4. Thực hành: Setup GitHub để chuẩn bị CI/CD

Bước 1: Tạo repository mới trên GitHub

  • Truy cập: https://github.com
  • Click New Repository
  • Đặt tên: cicd-demo
  • Chọn: ✔️ Public, ✔️ Initialize with README

Bước 2: Clone repository về máy

git clone https://github.com/tenban/cicd-demo.git
cd cicd-demo

Bước 3: Tạo thư mục workflows cho CI/CD

GitHub Actions dùng thư mục .github/workflows/ để chứa pipeline.

mkdir -p .github/workflows

Bước 4: Tạo file pipeline đầu tiên

Tạo file .github/workflows/hello.yml với nội dung đơn giản sau:

name: Hello CI

on:
push:
branches: [ "main" ]

jobs:
say-hello:
runs-on: ubuntu-latest
steps:
- name: Print greeting
run: echo "🎉 CI/CD is working!"

Bước 5: Đẩy code lên GitHub để trigger CI

git add .
git commit -m "Add first CI workflow"
git push origin main

➡️ Sau khi push, vào tab Actions trên GitHub repository để xem pipeline đang chạy.


✅ Kết quả

Bạn vừa:

  • Hiểu được CI/CD là gì và vai trò quan trọng của nó
  • Tạo một pipeline đơn giản trên GitHub Actions
  • Bắt đầu hành trình tự động hóa quá trình phát triển phần mềm!

🔜 Bài tiếp theo: Thiết lập pipeline CI cho ứng dụng thật

Trong bài 2, ta sẽ:

  • Viết pipeline CI đầy đủ cho một app NodeJS (hoặc Python)
  • Tự động kiểm thử, build mỗi khi push code