Giới thiệu về CI/CD trên AWS

Tự động hóa triển khai trên AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Chu trình liên tục

Tự động hóa triển khai trên AWS

Gặp gỡ giảng viên

dunieski-otano-instructor-with-aws-certifications.png

Tự động hóa triển khai trên AWS

Tại sao CI/CD quan trọng

  • Triển khai thủ công chậm và dễ lỗi
  • Developer đẩy code rồi chờ người khác triển khai
  • CI/CD tự động hóa đường đi từ code đến production
  • Phát hành nhanh hơn, ít lỗi hơn

 

ci_cd

Tự động hóa triển khai trên AWS

Vòng đời CI/CD

  • Source: Commit code vào kho
  • Build: Biên dịch, cài đặt phụ thuộc
  • Test: Kiểm thử tự động xác nhận bản build
  • Deploy: Phát hành ứng dụng; artifact truyền qua các giai đoạn

Lifecycle

Tự động hóa triển khai trên AWS

Tổng quan dịch vụ AWS Code

  • CodeCommit: Quản lý mã nguồn (kho Git)
  • CodeBuild: Biên dịch, kiểm thử, đóng gói
  • CodeDeploy: Phát hành lên EC2, Lambda hoặc ECS
  • CodePipeline: Điều phối tất cả các giai đoạn

   

 

Code services image

Tự động hóa triển khai trên AWS

CI vs continuous delivery vs continuous deployment

  • Continuous Integration (CI): Merge, build, test mỗi lần push
  • Continuous Delivery: Tự động deploy lên staging; duyệt tay trước khi lên prod (phổ biến nhất)
  • Continuous Deployment: Mọi build đạt yêu cầu sẽ lên live tự động

 

three-tier

Tự động hóa triển khai trên AWS

Cách CodePipeline điều phối mọi thứ

cp

  • CodePipeline nối các giai đoạn theo thứ tự
  • Mỗi giai đoạn gồm một hoặc nhiều action
  • Pipeline tự kích hoạt khi mã nguồn thay đổi
  • Bất kỳ giai đoạn nào fail, pipeline dừng lại
Tự động hóa triển khai trên AWS

Ví dụ pipeline thực tế

  • Source: Developer push lên CodeCommit
  • Build: CodeBuild chạy test, đóng gói thành ZIP
  • Staging: CodeDeploy phát hành lên staging
  • Duyệt => Production: Trưởng nhóm duyệt rồi deploy lên prod

 

Real pipeline example

Tự động hóa triển khai trên AWS

Cùng luyện tập nào!

Tự động hóa triển khai trên AWS

Preparing Video For Download...