Mộc Viên's Blog Mộc Viên's Blog
Làm thế nào để triển khai một hệ thống CI/CD từ đầu?

Làm thế nào để triển khai một hệ thống CI/CD từ đầu?

Ngày đăng:

Làm thế nào để triển khai một hệ thống CI/CD từ đầu?

1. Giới thiệu

CI/CD (Continuous Integration / Continuous Deployment) là nền tảng của phát triển phần mềm hiện đại. Nó giúp tự động hoá việc build, test, và triển khai, giảm lỗi thủ công và tăng tốc độ phát hành.

Bài viết này hướng dẫn bạn từng bước triển khai hệ thống CI/CD trên AWS – từ con số 0, đến khi có pipeline hoạt động tự động.

2. Tổng quan kiến trúc CI/CD

Một pipeline cơ bản trên AWS sẽ bao gồm:

Thành phần

Vai trò

AWS CodeCommit

Kho lưu trữ source code

AWS CodeBuild

Build và test mã nguồn

AWS CodeDeploy

Triển khai ứng dụng

AWS CodePipeline

Kết nối các giai đoạn lại thành một quy trình tự động

Amazon EC2 / ECS / Lambda

Môi trường đích để triển khai

S3 / CloudWatch

Lưu trữ và giám sát log build/deploy

3. Bước 1 – Chuẩn bị môi trường

a. Cấu hình AWS CLI

aws configure
# nhập Access Key, Secret Key, Region (vd: ap-southeast-1)

b. Tạo repository CodeCommit

aws codecommit create-repository --repository-name my-app-repo
git remote add origin https://git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/my-app-repo

4. Bước 2 – Thiết lập CodeBuild

Tạo file buildspec.yml trong root dự án:

version: 0.2
phases:
  install:
    commands:
      - echo "Cài đặt dependencies..."
      - npm install
  build:
    commands:
      - echo "Build ứng dụng..."
      - npm run build
artifacts:
  files:
    - '**/*'
  discard-paths: yes

5. Bước 3 – Tạo ứng dụng CodeDeploy

  • Trên AWS Console, mở CodeDeploy > Applications > Create Application
  • Chọn kiểu “EC2/On-premises” hoặc “ECS/Lambda”
  • Upload file appspec.yml:
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/myapp
hooks:
  AfterInstall:
    - location: scripts/restart.sh
      timeout: 300
      runas: root

6. Bước 4 – Xây dựng CodePipeline

Kiến trúc CI/CD trên AWS
Kiến trúc CI/CD trên AWS

  1. Mở AWS CodePipeline > Create pipeline
  2. Source: chọn CodeCommit
  3. Build: chọn CodeBuild project
  4. Deploy: chọn CodeDeploy application
  5. Nhấn “Create Pipeline” để AWS tự động tạo pipeline CI/CD hoàn chỉnh

7. Bước 5 – Kiểm thử toàn bộ quy trình

  1. Commit code mới vào branch main
  2. Pipeline sẽ tự động:
    • Build code qua CodeBuild
    • Deploy lên EC2 hoặc ECS
    • Ghi log vào CloudWatch
  3. Kiểm tra trạng thái từng giai đoạn trong CodePipeline Dashboard.

8. Mẹo tối ưu CI/CD

  • Dùng IAM Role riêng cho CodeBuild và CodeDeploy (giảm rủi ro bảo mật)
  • Bật CloudWatch Alarm để cảnh báo build/deploy thất bại
  • Dùng AWS Parameter Store hoặc Secrets Manager để bảo mật biến môi trường
  • Tích hợp với Slack để thông báo khi deploy thành công

9. Kết luận

Việc triển khai CI/CD trên AWS giúp đội ngũ dev rút ngắn thời gian release, tự động hóa kiểm thửtăng độ tin cậy hệ thống.

Bắt đầu từ pipeline nhỏ – sau đó mở rộng dần sang staging, production hoặc multi-region.


Gần đây