Cách dùng GitHub Actions Generator
- Chọn công nghệ và các nhánh mà workflow sẽ chạy.
- Chọn trigger — push, pull request, chạy thủ công, thẻ phiên bản hoặc lịch chạy.
- Chọn các bước và phiên bản cần kiểm thử, và nếu muốn thì chọn nơi deploy.
- Lưu YAML thành
.github/workflows/ci.yml, thêm các secret được liệt kê trong Settings → Secrets and variables → Actions, rồi push lên.
Cấu trúc của một workflow
| Khóa | Mục đích |
|---|---|
on | Các sự kiện khởi chạy workflow: push, pull_request, schedule, workflow_dispatch |
permissions | Những gì GITHUB_TOKEN tự động được phép làm — nên giữ ở mức tối thiểu |
concurrency | Hủy các lần chạy cũ hơn trên cùng một nhánh |
jobs.<id>.runs-on | Runner sử dụng, ví dụ ubuntu-latest |
strategy.matrix | Chạy job một lần cho mỗi phiên bản |
steps | uses: dùng một action hoặc run: chạy lệnh shell |
Các action được sử dụng
Trình tạo ghim các action chính thức ở phiên bản major hiện tại — actions/checkout@v4, actions/setup-node@v4, actions/setup-python@v5, actions/setup-go@v5, actions/cache@v4, actions/upload-pages-artifact@v3, actions/deploy-pages@v4 và docker/build-push-action@v6 của Docker. Để tăng tối đa độ an toàn chuỗi cung ứng, hãy ghim các action bên thứ ba vào một commit SHA đầy đủ.
Secret và biến môi trường
Tuyệt đối không commit token. Hãy lưu chúng dưới dạng repository secret và đọc bằng ${{ secrets.NAME }}. Giữ danh sách biến cần thiết trong .env.example và kiểm tra file .env local bằng .env File Validator. Workflow theo lịch dùng cú pháp cron theo UTC — hãy tạo biểu thức bằng Cron Expression Generator.
Đảm bảo package.json của bạn có các script lint, test và build; ứng dụng đóng gói container nên có file Docker Compose. Nếu GitHub báo lỗi cú pháp, hãy kiểm tra YAML bằng YAML to JSON.
Cũng được tìm dưới tên: tạo github actions, github actions workflow, file yaml github actions, ci cd pipeline github, deploy github pages action, docker build push action, github actions cron, workflow_dispatch.
Các công cụ dùng kèm tốt với GitHub Actions Generator
- Tạo GitLab CI — Chọn stack của bạn và nhận ngay file .gitlab-ci.yml chạy được: cài đặt với caching, job lint và test, build kèm artifacts, Docker image đẩy lên GitLab registry, hoặc deploy GitLab Pages — với rules giúp pipeline chạy cho merge request và nhánh mặc định mà không bị trùng lặp.
- Tạo .gitignore — Chọn stack của bạn — Node, Python, React, Next.js, Docker, macOS, VS Code và 40 mục khác — rồi nhận một file .gitignore gọn gàng, không trùng lặp, có chú thích theo từng phần, sẵn sàng tải về.
- Kiểm tra YAML — Dán file Docker Compose, manifest Kubernetes, workflow GitHub Actions hoặc bất kỳ YAML nào để xác định chính xác lỗi, phát hiện các lỗi thường gặp và nhận bản đã định dạng gọn gàng.
- Tạo Kubernetes YAML — Nhập tên ứng dụng, image và cổng, bạn sẽ có ngay Kubernetes YAML sẵn sàng cho production: một Deployment với probe, giới hạn tài nguyên và security context được gia cố, cùng Service, Ingress có TLS, ConfigMap, Secret và HorizontalPodAutoscaler mà bạn chọn — tất cả trong một file, sẵn sàng cho kubectl apply.
Câu hỏi thường gặp
Tôi nên lưu file workflow ở đâu?
.github/workflows/ của repository, ví dụ .github/workflows/ci.yml. GitHub sẽ tự nhận diện file ở lần push tiếp theo.Làm thế nào để deploy lên GitHub Pages?
Vì sao workflow theo lịch của tôi không chạy đúng giờ?
npm ci khác npm install như thế nào?
npm ci cài đúng những gì có trong package-lock.json, báo lỗi nếu không khớp với package.json và nhanh hơn — rất phù hợp cho CI.