Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
GitHub Actions cho phép bạn chạy kịch bản tự động mỗi khi có sự kiện trên kho mã, như đẩy code hoặc mở pull request. Chỉ cần một file YAML, bạn đã có hệ thống kiểm tra tự động miễn phí cho nhiều dự án nhỏ.
.github/workflows/.push, pull_request, hoặc lịch hẹn giờ.Tạo file .github/workflows/ci.yml:
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm run lint
- run: npm testĐọc từng phần: workflow chạy khi đẩy lên nhánh main hoặc khi có pull request. Job test chạy trên máy Ubuntu do GitHub cung cấp. Các bước lần lượt lấy mã, cài Node 20 (kèm cache thư viện npm), cài thư viện bằng npm ci, chạy lint rồi chạy test.
Lệnh npm ci cài đúng theo file khóa phiên bản, nên kết quả ổn định hơn npm install trong môi trường tự động.
Sau khi đẩy file lên, vào tab Actions của kho mã để xem từng lần chạy. Nếu một bước lỗi, bạn mở log của bước đó ra đọc. Với pull request, kết quả hiện ngay trên trang PR dưới dạng dấu tích xanh hoặc dấu X đỏ, giúp người review biết có nên xem tiếp hay không.
Muốn thử trên nhiều phiên bản Node, dùng chiến lược matrix:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: npm ci
- run: npm testGitHub sẽ tạo ba job song song, mỗi job một phiên bản.
Khi cần khóa API hoặc mật khẩu, vào Settings của kho mã, mục Secrets and variables, tạo secret rồi tham chiếu bằng ${{ secrets.TEN_SECRET }}. Đừng bao giờ ghi trực tiếp giá trị nhạy cảm vào file workflow vì file này nằm cùng mã nguồn.
@v4) thay vì dùng nhánh thay đổi.if để bước triển khai chỉ chạy ở nhánh chính.Chỉ mất khoảng mười phút để có workflow đầu tiên, nhưng lợi ích kéo dài suốt vòng đời dự án: mỗi pull request đều được kiểm tra tự động. Hãy thêm nó vào một dự án của bạn ngay hôm nay, rồi mở rộng dần sang build và triển khai.
Nếu bạn muốn học cả chuỗi tự động hóa từ test đến triển khai trên máy chủ thật, hãy tham khảo các khóa học tại codebem.com.
Nguyễn Đình Cường
0 comment