ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์
สำรวจเหตุการณ์ต่าง ๆ ที่สามารถกระตุ้นเวิร์กโฟลว์ GitHub Actions เช่น การพุช คำขอรวมโค้ด และเหตุการณ์ตามกำหนดเวลา
ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์ เป็นบทเรียน CI/CD with GitHub Actions & DevOps Pipelines ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CI/CD with GitHub Actions & DevOps Pipelines และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน
อะไรเป็นจุดเริ่มต้นของเวิร์กโฟลว์
เวิร์กโฟลว์ใน GitHub Actions ไม่ได้ทำงานขึ้นมาเอง แต่ต้องมีสัญญาณเพื่อเริ่มต้น สัญญาณนี้เรียกว่า ตัวกระตุ้น
ตัวกระตุ้นคือเหตุการณ์เฉพาะที่บอก GitHub Actions ว่า "นี่ มีบางอย่างเกิดขึ้น ได้เวลารันเวิร์กโฟลว์นี้แล้ว" การทำความเข้าใจตัวกระตุ้นเป็นหัวใจสำคัญของการทำให้กระบวนการพัฒนาของคุณเป็นอัตโนมัติอย่างมีประสิทธิภาพ
คีย์ 'on'
ในไฟล์เวิร์กโฟลว์ของคุณ (ไฟล์ .yml ในไดเรกทอรี .github/workflows) คุณกำหนดตัวกระตุ้นโดยใช้คีย์เวิร์ด on
ส่วนนี้จะบอก GitHub Actions ว่าเวิร์กโฟลว์ควรทำงาน เมื่อใด คุณสามารถระบุเหตุการณ์เดียวหรือหลายเหตุการณ์ได้
name: My First Triggered Workflow
on:
push: # This workflow will run on every push event
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run a simple command
run: echo "Workflow triggered!"
ตอบสนองต่อการพุชโค้ด
เหตุการณ์ push เป็นตัวกระตุ้นที่ใช้บ่อยที่สุดรายการหนึ่ง เหตุการณ์นี้จะทำงานทุกครั้งที่มีการพุชโค้ดไปยังที่เก็บโค้ดของคุณ ไม่ว่าจะเป็นคอมมิตใหม่หรือการผสานรวม
โดยค่าเริ่มต้น ตัวกระตุ้น push จะทำงานกับทุกบรাঞ্চ
on: push
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- name: Say Hello
run: echo "Code was pushed!"
การพุชแบบเจาะจงเป้าหมาย
คุณสามารถปรับตัวกระตุ้น push ให้ทำงานเฉพาะกับบรাঞ্চที่ระบุ หรือเมื่อมีการเปลี่ยนแปลงในเส้นทางไฟล์บางแห่งได้ วิธีนี้ช่วยเพิ่มประสิทธิภาพให้เวิร์กโฟลว์ของคุณ
branches: ทำงานเฉพาะเมื่อมีการพุชบนชื่อบรাঞ্চที่ระบุpaths: ทำงานเฉพาะเมื่อมีการเปลี่ยนแปลงไฟล์ภายในไดเรกทอรีที่ระบุ
on:
push:
branches:
- main
- 'feature/*' # Glob pattern for feature branches
paths:
- 'src/**' # Only if changes in src/ directory
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Push to relevant branch/path detected!"
ทำให้การตรวจสอบคำขอผสานรวมเป็นอัตโนมัติ
เหตุการณ์ pull_request จะทำงานเมื่อมีการเปิดคำขอผสานรวม ซิงโครไนซ์ (มีการพุชคอมมิตใหม่ไปยังบรাঞ্চของ PR) หรือเปิดคำขอผสานรวมที่ปิดไปแล้วอีกครั้ง
เหตุการณ์นี้เหมาะอย่างยิ่งสำหรับการรันการตรวจสอบอัตโนมัติ เช่น การทดสอบ การตรวจรูปแบบโค้ด หรือการตรวจสอบโค้ด ก่อน ที่การเปลี่ยนแปลงจะถูกรวมเข้ากับฐานโค้ดหลัก
on: pull_request
jobs:
pr_check:
runs-on: ubuntu-latest
steps:
- name: PR opened/updated
run: echo "A pull request was opened or updated!"
การดำเนินการเฉพาะของ PR
คุณสามารถปรับตัวกระตุ้น pull_request ให้เจาะจงยิ่งขึ้นได้โดยระบุ types ซึ่งช่วยให้เวิร์กโฟลว์ตอบสนองเฉพาะการดำเนินการที่เกี่ยวข้องกับคำขอผสานรวมบางรายการ
opened: เมื่อสร้างคำขอผสานรวมใหม่synchronize: เมื่อมีการพุชคอมมิตใหม่ไปยังบรাঞ্চของ PRreopened: เมื่อเปิดคำขอผสานรวมที่ปิดไปแล้วอีกครั้ง
on:
pull_request:
types: [opened, synchronize, reopened] # Run only on these PR actions
jobs:
pr_review:
runs-on: ubuntu-latest
steps:
- run: echo "PR action: ${{ github.event.action }}"
ทริกเกอร์ตามเวลา
เหตุการณ์ schedule ช่วยให้คุณเรียกใช้เวิร์กโฟลว์ในเวลาที่กำหนดได้โดยใช้ไวยากรณ์ cron วิธีนี้เหมาะอย่างยิ่งสำหรับรายงานประจำวัน งานล้างข้อมูล หรือการตรวจสอบเป็นระยะ
ไวยากรณ์ cron ใช้เครื่องหมายดอกจันห้าตัว ซึ่งแทนค่า: minute hour day-of-month month day-of-week
on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight UTC
- cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri
jobs:
scheduled_task:
runs-on: ubuntu-latest
steps:
- run: echo "Scheduled workflow running!"
การเรียกใช้เวิร์กโฟลว์ด้วยตนเอง
บางครั้งคุณจำเป็นต้องเรียกใช้เวิร์กโฟลว์ด้วยตนเอง เช่น เพื่อการนำระบบขึ้นใช้งานหรืองานบำรุงรักษาเฉพาะกิจ เหตุการณ์ workflow_dispatch ช่วยให้ทำเช่นนี้ได้
เมื่อมีทริกเกอร์นี้ ปุ่ม "เรียกใช้เวิร์กโฟลว์" จะปรากฏในส่วนติดต่อผู้ใช้ของ GitHub สำหรับเวิร์กโฟลว์นั้น ทำให้คุณเรียกใช้ได้เมื่อต้องการ
on: workflow_dispatch
jobs:
manual_task:
runs-on: ubuntu-latest
steps:
- run: echo "This workflow was triggered manually!"
นอกเหนือจากพื้นฐาน
แม้ว่า push, pull_request, schedule และ workflow_dispatch จะเป็นทริกเกอร์เหตุการณ์ที่ใช้กันมากที่สุด แต่ GitHub Actions ก็มีทริกเกอร์เหตุการณ์อื่น ๆ อีกมากมาย
workflow_call: สำหรับสร้างเวิร์กโฟลว์ที่นำกลับมาใช้ซ้ำได้repository_dispatch: สำหรับเรียกใช้เวิร์กโฟลว์จากระบบภายนอกผ่านการเรียกใช้ API- ยังมีอีกมากมายสำหรับเหตุการณ์เฉพาะของ GitHub เช่น
issues,releaseและfork
ความท้าทายเรื่องทริกเกอร์
คุณต้องตั้งค่าเวิร์กโฟลว์ให้สร้างรายงานประจำสัปดาห์โดยอัตโนมัติทุกวันศุกร์เวลา 17:00 น. UTC โดยไม่ขึ้นอยู่กับว่ามีการเปลี่ยนแปลงโค้ดหรือไม่ เหตุการณ์ทริกเกอร์ใดเหมาะสมที่สุดสำหรับงานนี้
ทบทวนทริกเกอร์
เก่งมากที่ได้สำรวจทริกเกอร์ของ GitHub Actions! คุณได้เรียนรู้ว่าเวิร์กโฟลว์เริ่มทำงานจากเหตุการณ์ต่าง ๆ ดังนี้
push: สำหรับการเปลี่ยนแปลงที่ส่งขึ้นไปยังที่เก็บโค้ดของคุณpull_request: สำหรับการดำเนินการที่เกี่ยวข้องกับคำขอผสานโค้ดschedule: สำหรับงานที่ทำซ้ำตามเวลาโดยใช้ cronworkflow_dispatch: สำหรับการเรียกใช้ด้วยตนเองจากส่วนติดต่อผู้ใช้หรือ API
การเลือกทริกเกอร์ที่เหมาะสมเป็นขั้นตอนแรกในการสร้างไปป์ไลน์ CI/CD ที่มีประสิทธิภาพและทำงานได้อย่างคุ้มค่า!
คำถามที่พบบ่อย
บทเรียน “ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CI/CD with GitHub Actions & DevOps Pipelines ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์”
สำรวจเหตุการณ์ต่าง ๆ ที่สามารถกระตุ้นเวิร์กโฟลว์ GitHub Actions เช่น การพุช คำขอรวมโค้ด และเหตุการณ์ตามกำหนดเวลา คุณปฏิบัติ CI/CD with GitHub Actions & DevOps Pipelines ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CI/CD with GitHub Actions & DevOps Pipelines หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน CI/CD with GitHub Actions & DevOps Pipelines บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม
ได้ บทเรียน CI/CD with GitHub Actions & DevOps Pipelines ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์
- การเรียกใช้การทดสอบด้วย GitHub Actions
- การตรวจรูปแบบและตรวจสอบคุณภาพโค้ด
- การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง