GH-200 CHƯƠNG 05 Basic 2 Labs Ngày tạo: 22/05/2026

Events, triggers & workflow_dispatch

push, PR, schedule, manual workflow. Ưu tiên thực hành CLI; nếu có thao tác giao diện sẽ có thêm Cách 02 — GUI/Portal.

Thông tin thực hành

Ngày tạo bài: 22/05/2026
Cấp độ: Basic
Nhóm nội dung: GH-200
Số lab: 2
Ưu tiên: CLI trước, GUI/Portal là cách 02 nếu phù hợp
Hệ điều hành: Windows 11, WSL2 Ubuntu, Linux, macOS tùy lab

Mục tiêu học tập

  • Nắm được mục đích và vai trò của Events, triggers & workflow_dispatch trong lộ trình GH-200.
  • Thực hành được bằng CLI, biết kiểm tra log/output và biết cleanup.
  • Biết khi nào cần dùng GUI/Portal và cách đối chiếu với CLI.
  • Áp dụng được vào môi trường doanh nghiệp với bảo mật, audit và vận hành rõ ràng.

Lý thuyết gắn gọn

Tổng quan Events, triggers và workflow_dispatch

Nội dung này giúp người học triển khai events, triggers và workflow_dispatch theo hướng thực tế, có thể áp dụng vào pipeline, cloud platform hoặc quy trình vận hành doanh nghiệp.

Khi nào dùng?

Dùng khi cần chuẩn hóa thao tác, giảm lỗi thủ công, tăng khả năng kiểm soát, audit và tự động hóa trong vòng đời phần mềm.

Rủi ro thường gặp

Rủi ro thường gặp là cấu hình thủ công, thiếu kiểm soát quyền, không có rollback, không có log/alert, hoặc thiếu tài liệu vận hành.

Chuẩn thực hành

Ưu tiên Infrastructure as Code, pipeline as code, least privilege, traceability, monitoring, cost control và security gate sớm trong quy trình.

Kết quả mong muốn

Sau chương này, người học phải tạo được artifact hoặc cấu hình chạy thật, kiểm tra được kết quả, biết cleanup và biết cách áp dụng vào môi trường doanh nghiệp.

Thuật ngữ cần nhớ

Thuật ngữÝ nghĩa
Tổng quan Events, triggers và workflow_dispatchNội dung này giúp người học triển khai events, triggers và workflow_dispatch theo hướng thực tế, có thể áp dụng vào pipeline, cloud platform hoặc quy trình vận hành doanh nghiệp.
Khi nào dùng?Dùng khi cần chuẩn hóa thao tác, giảm lỗi thủ công, tăng khả năng kiểm soát, audit và tự động hóa trong vòng đời phần mềm.
Rủi ro thường gặpRủi ro thường gặp là cấu hình thủ công, thiếu kiểm soát quyền, không có rollback, không có log/alert, hoặc thiếu tài liệu vận hành.
Chuẩn thực hànhƯu tiên Infrastructure as Code, pipeline as code, least privilege, traceability, monitoring, cost control và security gate sớm trong quy trình.
Kết quả mong muốnSau chương này, người học phải tạo được artifact hoặc cấu hình chạy thật, kiểm tra được kết quả, biết cleanup và biết cách áp dụng vào môi trường doanh nghiệp.

Ghi chú áp dụng thực tế doanh nghiệp

  • Không triển khai production nếu chưa có kiểm soát quyền, log, monitoring và rollback.
  • Mọi cấu hình quan trọng nên được lưu bằng code: YAML, Bicep, Terraform, Helm, Kustomize hoặc policy.
  • Luôn có owner, naming convention, tags, cost center và tài liệu vận hành.
  • Không hard-code secret. Ưu tiên OIDC, managed identity, workload identity hoặc Key Vault.
  • Lab có CLI và GUI nhằm giúp học viên hiểu cả tự động hóa lẫn giao diện vận hành thực tế.

Bài tập lab step-by-step

LAB-009 Web CLI

Workflow chạy khi Pull Request

Nền tảng thực hành: Web, CLI

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
Cách 01 — CLI ưu tiên
  1. Tạo repo GitHub hoặc dùng repo lab hiện có.
  2. Tạo thư mục `.github/workflows`.
  3. Tạo file workflow YAML theo tên lab.
  4. Thêm trigger phù hợp: `push`, `pull_request` hoặc `workflow_dispatch`.
  5. Thêm job chạy trên `ubuntu-latest`.
  6. Thêm step `actions/checkout@v4`.
  7. Thêm step kiểm tra/build/test theo nội dung lab.
  8. Commit và push lên branch lab.
  9. Mở tab Actions để xem workflow run.
  10. Nếu lỗi, mở từng step log để sửa và chạy lại.
CLI mẫu / gợi ý lệnh
Tạo thư mục `.github/workflows`.
Thêm trigger phù hợp: `push`, `pull_request` hoặc `workflow_dispatch`.
Thêm job chạy trên `ubuntu-latest`.
Thêm step `actions/checkout@v4`.
Cách 02 — GUI / Portal
  1. Mở GitHub repository trên trình duyệt.
  2. Vào tab hoặc menu phù hợp: Actions, Security, Settings, Pull requests.
  3. Tạo hoặc chỉnh cấu hình theo nội dung lab.
  4. Commit file cấu hình nếu GitHub yêu cầu.
  5. Mở tab Actions/Security để theo dõi kết quả.
  6. Mở workflow run hoặc alert chi tiết.
  7. Ghi lại trạng thái pass/fail.
  8. Sửa cấu hình nếu có lỗi và chạy lại.
  9. Tạo ghi chú kết quả vào README.
  10. Dọn branch hoặc secret demo nếu không dùng.
Kiểm tra kết quả

Hoàn thành workflow chạy khi pull request và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

LAB-010 Web CLI

Manual workflow với input môi trường

Nền tảng thực hành: Web, CLI

Terminal: PowerShell 7 hoặc Bash/Linux Terminal; macOS Terminal nếu dùng macOS

Phiên bản / ghi chú:

  • Ngày tạo bài: 22/05/2026
  • Git 2.40+
  • VS Code latest stable
Cách 01 — CLI ưu tiên
  1. Tạo repo GitHub hoặc dùng repo lab hiện có.
  2. Tạo thư mục `.github/workflows`.
  3. Tạo file workflow YAML theo tên lab.
  4. Thêm trigger phù hợp: `push`, `pull_request` hoặc `workflow_dispatch`.
  5. Thêm job chạy trên `ubuntu-latest`.
  6. Thêm step `actions/checkout@v4`.
  7. Thêm step kiểm tra/build/test theo nội dung lab.
  8. Commit và push lên branch lab.
  9. Mở tab Actions để xem workflow run.
  10. Nếu lỗi, mở từng step log để sửa và chạy lại.
CLI mẫu / gợi ý lệnh
Tạo thư mục `.github/workflows`.
Thêm trigger phù hợp: `push`, `pull_request` hoặc `workflow_dispatch`.
Thêm job chạy trên `ubuntu-latest`.
Thêm step `actions/checkout@v4`.
Kiểm tra kết quả

Hoàn thành manual workflow với input môi trường và có bằng chứng kiểm tra: log, screenshot, pipeline run, resource hoặc output CLI.

Cleanup

Xóa tài nguyên lab không dùng, xóa secret/token demo, dọn branch/release/resource group để tránh chi phí và rủi ro.

Câu hỏi ôn tập

  1. Trong chương 05, phần nào cần tự động hóa bằng pipeline/workflow?
  2. Nếu áp dụng vào môi trường production, rủi ro bảo mật lớn nhất là gì?
  3. Lab nào cần CLI? Lab nào cần Portal/GUI? Vì sao?
  4. Bạn sẽ kiểm tra thành công bằng log, output hay dashboard nào?
  5. Cleanup cần làm gì để tránh chi phí và rủi ro?
Zalo