เครื่องมือสร้างลำดับขั้นตอนการทำงานสำหรับ GitHub Actions
รีโพซิทอรี GitHub ใหม่ที่ยังไม่มีระบบ CI จะอยู่ห่างเพียง git push เท่านั้นจากกรณีที่การติดตั้งล้มเหลวในครั้งถัดไป โปรแกรมสร้างนี้จะสร้างไฟล์ .github/workflows/ci.yml สำหรับ Node.js, PHP หรือ Laravel โดยรวมกระบวนการต่างๆ เช่น การเชื่อมต่อระบบ checkout, การกำหนดการดำเนินการในขณะรันโปรแกรม (runtime actions), การติดตั้งส่วนประกอบที่จำเป็น และคำสั่งทดสอบมาตรฐานไว้ครบถ้วน, ทุกอย่างที่คุณต้องการเพื่อให้ระบบแสดงเครื่องหมายจุดสีเขียวหรือสีแดงได้
วิธีการสร้างกระบวนการทำงาน
-
1
เลือกสแตก
Node (ใช้ `actions/setup-node`), PHP (ใช้ `shivammathur/setup-php`) หรือ Laravel (PHP + `php artisan test`)
-
2
ตั้งค่าสาขาหลัก
`main` เป็นค่าเริ่มต้น หากรีโพของคุณยังใช้ `master` หรือชื่อที่กำหนดเอง ให้เปลี่ยนเป็นชื่อนั้นแทน
-
3
สร้าง
เครื่องมือนี้จะประกอบไฟล์ YAML ที่มีทริกเกอร์ `push` และ `pull_request` บนสาขานั้น
-
4
คอมมิตไปยัง .github/workflows/
สร้างไฟล์ที่ `.github/workflows/ci.yml` แล้ว push, เมื่อคอมมิตครั้งถัดไป แท็บ Actions จะสว่างขึ้น
ลักษณะของกระบวนการทำงาน
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
การดำเนินการที่เครื่องมือกำหนดไว้
| การดำเนินการ | วัตถุประสงค์ |
|---|---|
actions/checkout@v4 |
โคลนรีโพไปยัง Runner |
actions/setup-node@v4 |
ติดตั้งชุดเครื่องมือ Node |
shivammathur/setup-php@v2 |
ติดตั้งเวอร์ชัน PHP พร้อมส่วนขยาย |
สิ่งที่ควรเพิ่มต่อไป
- ขั้นตอน Lint (
npm run lint,./vendor/bin/phpstan analyse) ก่อนขั้นตอนการทดสอบ - การสร้างแบบเมทริกซ์: รันบนหลายเวอร์ชันของ Node/PHP โดยใช้
strategy.matrix - การอัปโหลดความครอบคลุม:
codecov-actionหรือcoveralls-actionหลังขั้นตอนการทดสอบ - ข้อมูลลับ: อย่าฮาร์ดโค้ดโทเคนเด็ดขาด, ใช้
secrets.XXXและกำหนดไว้ที่ Settings → Actions
ข้อผิดพลาดที่พบบ่อย
- ลืมดึงแท็ก:
with: { fetch-depth: 0 }ในcheckoutเมื่อระบบอ่านแท็ก - การใช้ภาพ Docker ของ
latest: ต้องกำหนดเวอร์ชันให้คงที่ เพื่อให้สามารถรันโปรแกรมได้อย่างสม่ำเสมอแม้จะผ่านไปหลายเดือน - ดำเนินการทดสอบชุดนาน 30 นาทีในแต่ละครั้งของการส่งข้อมูล: แบ่งงานที่ใช้เวลานานด้วย
needs:เพื่อให้สามารถประมวลผลแบบขนานได้
คำถามที่พบบ่อย
ในไฟล์ .github/workflows/ci.yml ที่อยู่ในไดเรกทอรีรากของ repos ของคุณ GitHub จะดึงไฟล์ YAML ทั้งหมดในไดเรกทอรีนี้มาแสดงเป็นกระบวนการทำงานแยกต่างหากในแท็บ Actions
คำขอดึงข้อมูลจากฟอร์กจะทำให้กระบวนการทำงานดำเนินไป แต่ตั้งค่า GITHUB_TOKEN เป็นโหมดอ่านเพียงอย่างเดียว ผู้มีส่วนร่วมภายนอกจะไม่สามารถเข้าถึงข้อมูลลับของคุณได้ เว้นแต่คุณจะอนุญาตโดยตรง
เพิ่มบล็อก strategy.matrix.php: [8.2, 8.3, 8.4] และอ้างอิง ${{ matrix.php }} ในขั้นตอน setup-php โดยโปรแกรมรันเนอร์จะสร้างงานหนึ่งงานสำหรับแต่ละเวอร์ชันพร้อมกัน
ไม่ ไฟล์ YAML ที่สร้างขึ้นจะแสดงบนหน้าเว็บเท่านั้น ไม่มีการอัปโหลดหรือบันทึกไว้ที่ใด และคุณคัดลอกออกมาใช้เอง
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Gerador de Workflow do GitHub Actions [PT]
- Generador de Flujos de Trabajo de GitHub Actions [ES]
- GitHub Actions ワークフロージェネレーター [JA]
- مولّد سير عمل GitHub Actions [AR]
- Bộ công cụ tạo luồng công việc cho GitHub Actions [VI]
- Générateur de Workflow GitHub Actions [FR]
- GitHub Actions Workflow-generator [SV]
- GitHub-Actions-Workflow-Generator [DE]
- GitHub Actions 워크플로우 생성기 [KO]
- GitHub Actions Werkstroomgenerator [NL]
- Generator Alur Kerja untuk GitHub Actions [ID]
- Generator workflow GitHub Actions [PL]
- Генератор рабочих процессов для GitHub Actions [RU]
- GitHub Actions İş Akışı Üreteci [TR]
- GitHub Actions 工作流生成器 [ZH]
- GitHub Actions Workflow Generator [EN]
- Generatore di Workflow di GitHub Actions [IT]