0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · บทเรียน

ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์

สำรวจเหตุการณ์ต่าง ๆ ที่สามารถกระตุ้นเวิร์กโฟลว์ 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: เมื่อมีการพุชคอมมิตใหม่ไปยังบรাঞ্চของ PR
  • reopened: เมื่อเปิดคำขอผสานรวมที่ปิดไปแล้วอีกครั้ง
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: สำหรับงานที่ทำซ้ำตามเวลาโดยใช้ cron
  • workflow_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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์
  2. การเรียกใช้การทดสอบด้วย GitHub Actions
  3. การตรวจรูปแบบและตรวจสอบคุณภาพโค้ด
  4. การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง
← กลับไปที่ CI/CD with GitHub Actions & DevOps Pipelines