Giới thiệu về GitHub Actions

CI/CD cho Machine Learning

Ravi Bhadauria

Machine Learning Engineer

GitHub Actions là gì?

  • GitHub Actions (GHA): nền tảng CI/CD để tự động hóa pipeline
  • Pipeline: chuỗi step biểu diễn luồng công việc và dữ liệu
CI/CD cho Machine Learning

GitHub Actions là gì?

Hình dây chuyền lắp ráp ô tô với công nhân ở từng công đoạn: lắp động cơ, lắp bánh xe, sơn vỏ xe.

CI/CD cho Machine Learning

GitHub Actions là gì?

Github Actions tạo chuỗi action hoặc step được định nghĩa cho dự án phần mềm, như checkout repository, build code, chạy test, hoặc deploy ứng dụng.

1 https://medium.com/empathyco/applying-ci-cd-using-github-actions-for-android-1231e40cc52f
CI/CD cho Machine Learning

Thành phần GHA: Event

  • Event: hoạt động cụ thể trong repo kích hoạt chạy workflow
    • Push
    • Pull Request
    • Mở issue
CI/CD cho Machine Learning

Thành phần GHA: Workflow

  • Workflow: quy trình tự động chạy một hoặc nhiều job
    • Định nghĩa trong file YAML
    • Tự động kích hoạt bởi event
      • Có thể chạy thủ công
    • Nằm trong thư mục .github/workflows của repo
    • Có thể định nghĩa nhiều workflow
CI/CD cho Machine Learning

Thành phần GHA: Steps và Actions

  • Step: đơn vị công việc
    • Thực thi theo thứ tự, phụ thuộc bước trước
    • Chạy trên cùng máy, nên có thể chia sẻ dữ liệu
    • Ví dụ đơn vị công việc
      • Biên dịch ứng dụng, chạy shell script
      • Action: ứng dụng đặc thù nền tảng GHA
        • Ví dụ: checkout repo, bình luận trên PR
CI/CD cho Machine Learning

Thành phần GHA: Jobs và Runners

  • Job: tập hợp các step
    • Mỗi job độc lập
    • Có thể chạy song song
    • Chạy trên máy tính gọi là runner
CI/CD cho Machine Learning

Một workflow GHA đơn giản

Hình về một sự kiện push trong repo kích hoạt một workflow, trong đó một job chạy trên runner Ubuntu. Job có hai step: checkout repo và chạy mã Python.

  • Event: Push
  • Job: chạy trên runner Ubuntu, có hai step
    • Action: Checkout Repo
    • Chạy mã Python
CI/CD cho Machine Learning

Tổng hợp lại

Hình minh họa workflow GitHub Actions điển hình với job chạy song song và step tuần tự.

CI/CD cho Machine Learning

Vamos praticar!

CI/CD cho Machine Learning

Preparing Video For Download...