Bộ công cụ tạo luồng công việc cho GitHub Actions
Một kho lưu trữ GitHub mới chưa có quy trình CI chỉ cách một bước (git push) là sẽ gặp sự cố trong quá trình triển khai tiếp theo. Bộ công cụ này tự động tạo phiên bản khởi tạo .github/workflows/ci.yml dành cho Node, PHP hoặc Laravel, đồng thời thiết lập các bước như kiểm tra mã nguồn, thực hiện thao tác chạy phù hợp, cài đặt các phụ thuộc và chạy lệnh kiểm thử tiêu chuẩn – tất cả những gì cần thiết để hệ thống hiển thị dấu chấm xanh hoặc đỏ.
Cách tạo quy trình làm việc
-
1
Chọn stack
Node (sử dụng `actions/setup-node`), PHP (sử dụng `shivammathur/setup-php`) hoặc Laravel (PHP + `php artisan test`).
-
2
Thiết lập nhánh chính
`main` là tên mặc định; hãy thay thế nó nếu kho lưu trữ của bạn vẫn sử dụng `master` hoặc một tên tùy chỉnh.
-
3
Tạo
Công cụ này tạo một tệp YAML chứa các trigger `push` và `pull_request` trên nhánh đó.
-
4
Commit vào .github/workflows/
Tạo tệp tại `.github/workflows/ci.yml` rồi push; tab Actions sẽ sáng lên ở lần commit tiếp theo.
Quy trình làm việc như thế nào
name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
- run: composer install --no-interaction
- run: php artisan test
Các hành động được tạo ra bởi bộ sinh
| Hành động | Mục đích |
|---|---|
actions/checkout@v4 |
Sao chép kho mã vào Runner |
actions/setup-node@v4 |
Cài đặt chuỗi công cụ Node |
shivammathur/setup-php@v2 |
Cài đặt phiên bản PHP kèm các tiện ích mở rộng |
Nên thêm gì tiếp theo
- Bước Lint (
npm run lint,./vendor/bin/phpstan analyse) trước bước kiểm thử. - Xây dựng ma trận: chạy trên nhiều phiên bản Node/PHP bằng
strategy.matrix. - Tải lên độ bao phủ:
codecov-actionhoặccoveralls-actionsau bước kiểm thử. - Secrets: Không bao giờ hard-code token, hãy dùng
secrets.XXXvà định nghĩa chúng trong Settings → Actions.
Những sai lầm phổ biến
- Quên lấy các thẻ (tag): đặt
with: { fetch-depth: 0 }trêncheckoutkhi logic phát hành của bạn đọc thẻ. - Dùng image Docker
latest: cố định phiên bản để các lần chạy vẫn tái lập được sau nhiều tháng. - Chạy bộ kiểm thử kéo dài 30 phút ở mỗi lần push: chia các job dài bằng
needs:để chạy song song.
Câu hỏi thường gặp
Tại thư mục .github/workflows/ci.yml trong gốc kho lưu trữ của bạn, GitHub sẽ tự động nhận các tệp YAML nằm trong thư mục này và hiển thị chúng như những quy trình làm việc riêng biệt trên tab Hành động.
Pull request từ fork vẫn chạy quy trình làm việc, nhưng với GITHUB_TOKEN được đặt ở chế độ chỉ đọc. Người đóng góp bên ngoài không thể truy cập secrets của bạn trừ khi bạn cho phép rõ ràng.
Thêm khối strategy.matrix.php: [8.2, 8.3, 8.4] và tham chiếu đến ${{ matrix.php }} trong bước setup-php. Chương trình chạy sẽ tạo một tác vụ cho mỗi phiên bản một cách song song.
Không. YAML được tạo sẽ hiển thị trên trang, không được tải lên hay lưu trữ ở bất kỳ đâu, và bạn tự sao chép ra.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Bảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Generator workflow GitHub Actions [PL]
- Gerador de Workflow do GitHub Actions [PT]
- Generador de Flujos de Trabajo de GitHub Actions [ES]
- GitHub Actions Werkstroomgenerator [NL]
- مولّد سير عمل GitHub Actions [AR]
- GitHub Actions Workflow-generator [SV]
- GitHub Actions ワークフロージェネレーター [JA]
- เครื่องมือสร้างลำดับขั้นตอนการทำงานสำหรับ GitHub Actions [TH]
- Generator Alur Kerja untuk GitHub Actions [ID]
- GitHub Actions 워크플로우 생성기 [KO]
- Générateur de Workflow GitHub Actions [FR]
- GitHub-Actions-Workflow-Generator [DE]
- GitHub Actions Workflow Generator [EN]
- Generatore di Workflow di GitHub Actions [IT]
- Генератор рабочих процессов для GitHub Actions [RU]
- GitHub Actions İş Akışı Üreteci [TR]
- GitHub Actions 工作流生成器 [ZH]