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

การตั้งค่าการแจ้งเตือน

กำหนดค่าการแจ้งเตือนอัตโนมัติสำหรับไปป์ไลน์ที่ล้มเหลว สำเร็จ หรือเกิดเหตุการณ์สำคัญ โดยใช้ช่องทางการสื่อสารต่าง ๆ

บทเรียน 3 จาก 411 ขั้นตอน

การตั้งค่าการแจ้งเตือน เป็นบทเรียน CI/CD with GitHub Actions & DevOps Pipelines ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CI/CD with GitHub Actions & DevOps Pipelines และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องมีการแจ้งเตือนกระบวนการทำงาน

ในการพัฒนาที่ดำเนินไปอย่างรวดเร็ว การทราบสถานะของกระบวนการ CI/CD เป็นสิ่งสำคัญ การแจ้งเตือนอัตโนมัติช่วยให้ทีมรับทราบเหตุการณ์สำคัญ

บทเรียนนี้จะอธิบายวิธีตั้งค่าการเตือนสำหรับความสำเร็จ ความล้มเหลว และจุดสำคัญอื่น ๆ ของกระบวนการทำงานโดยใช้การทำงานของ GitHub

การแจ้งเตือนในตัวของ GitHub

GitHub มีการแจ้งเตือนพื้นฐานให้พร้อมใช้งาน หากคุณกำลัง 'ติดตาม' ที่เก็บโค้ด คุณจะได้รับการแจ้งเตือนทางอีเมลหรือบนเว็บสำหรับการทำงานของกระบวนการ

  • สำเร็จ: กระบวนการทำงานเสร็จสมบูรณ์
  • ล้มเหลว: กระบวนการทำงานล้มเหลว
  • เป็นกลาง: กระบวนการทำงานถูกยกเลิก

อย่างไรก็ตาม การแจ้งเตือนเหล่านี้มักเป็นการแจ้งเตือนส่วนบุคคล และขาดการสื่อสารแบบทันทีทั่วทั้งทีมซึ่งจำเป็นต่อ CI/CD ที่มีประสิทธิภาพ

ช่องทางการแจ้งเตือนยอดนิยม

เพื่อเติมเต็มช่องว่างนี้ การทำงานของ GitHub จึงเชื่อมต่อกับบริการภายนอกได้หลากหลาย ช่องทางทั่วไปสำหรับการแจ้งเตือนทีม ได้แก่:

  • สแล็ก: แพลตฟอร์มสื่อสารภายในทีมที่ได้รับความนิยม
  • ไมโครซอฟท์ ทีมส์: เครื่องมือสำหรับการทำงานร่วมกันที่มีผู้ใช้กันอย่างแพร่หลายอีกบริการหนึ่ง
  • อีเมล: สำหรับการแจ้งเตือนที่เป็นทางการมากขึ้นหรือไม่เร่งด่วน
  • เว็บฮุกแบบกำหนดเอง: สำหรับเชื่อมต่อกับบริการแทบทุกประเภท

ช่องทางเหล่านี้ช่วยให้มีการอัปเดตแบบรวมศูนย์และทันที

การเชื่อมต่อสแล็กกับการทำงานอัตโนมัติ

การเชื่อมต่อกับสแล็กเป็นวิธีทั่วไปในการรับการอัปเดตกระบวนการทำงานทันที คุณสามารถใช้การทำงานจากมาร์เก็ตเพลสของ GitHub หรือส่งข้อมูลไปยังเว็บฮุกของสแล็กโดยตรง

การทำงานจากมาร์เก็ตเพลสช่วยให้กระบวนการง่ายขึ้น โดยซ่อนรายละเอียดของคำขอ HTTP

กระบวนการแจ้งเตือนสแล็กแบบง่าย

นี่คือตัวอย่างกระบวนการทำงานพื้นฐานที่ส่งการแจ้งเตือนไปยังสแล็กทุกครั้งที่มีการส่งการเปลี่ยนแปลงไปยังสาขา main โปรดสังเกตการใช้ข้อมูลลับของ GitHub สำหรับที่อยู่เว็บของเว็บฮุก

name: Notify on Push

on: 
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Send Slack Notification
        uses: rtCamp/action-slack-notify@v2
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_MESSAGE: "New push to main branch!"
          SLACK_COLOR: "good"

การแจ้งเตือนตามเงื่อนไข (เมื่อเกิดข้อผิดพลาด)

บ่อยครั้งคุณอาจต้องการรับการแจ้งเตือนเฉพาะเมื่อมีบางอย่างผิดพลาด การทำงานของ GitHub อนุญาตให้คุณเพิ่มเงื่อนไขให้กับขั้นตอนต่าง ๆ โดยใช้ส่วนคำสั่ง if:

นิพจน์ failure() จะตรวจสอบว่าขั้นตอนก่อนหน้าใด ๆ ในงานล้มเหลวหรือไม่ วิธีนี้ช่วยลดความวุ่นวายในช่องทางการสื่อสารของคุณ

name: Notify on Failure

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: This step will fail
        run: exit 1 # Simulate a failure

      - name: Send Failure Notification to Slack
        if: failure()
        uses: rtCamp/action-slack-notify@v2
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_MESSAGE: "Workflow failed on ${{ github.ref }}!"
          SLACK_COLOR: "danger"

การเตือนด้วยเว็บฮุกแบบกำหนดเอง

สำหรับบริการที่ไม่มีการทำงานของ GitHub โดยเฉพาะ คุณสามารถใช้เว็บฮุกทั่วไปได้ วิธีนี้เกี่ยวข้องกับการส่งคำขอ HTTP แบบ POST ซึ่งมักใช้ curl ไปยังที่อยู่เฉพาะ

วิธีนี้มีความยืดหยุ่นสูงสุด ทำให้สามารถเชื่อมต่อกับแดชบอร์ดแบบกำหนดเอง ระบบจัดการเหตุการณ์ หรือแม้แต่เกตเวย์ SMS ได้

name: Custom Webhook Alert

on: [workflow_dispatch]

jobs:
  alert:
    runs-on: ubuntu-latest
    steps:
      - name: Send Custom Alert
        run: |
          curl -X POST -H "Content-Type: application/json" \
          -d '{"text":"A custom alert from GitHub Actions!"}' \
          ${{ secrets.CUSTOM_WEBHOOK_URL }}
        env:
          CUSTOM_WEBHOOK_URL: ${{ secrets.CUSTOM_WEBHOOK_URL }}

การกรองขอบเขตการแจ้งเตือน

คุณอาจต้องการแจ้งเตือนทีมต่าง ๆ สำหรับส่วนต่าง ๆ ของกระบวนการทำงาน คุณสามารถใช้เงื่อนไข if: เพื่อกรองการแจ้งเตือนตามสิ่งต่อไปนี้:

  • สาขา: github.ref == 'refs/heads/main'
  • สถานะงาน: always(), success(), failure(), cancelled()
  • ขั้นตอนเฉพาะ: ตรวจสอบผลลัพธ์ของขั้นตอนใดขั้นตอนหนึ่ง

วิธีนี้ช่วยให้มีเพียงการเตือนที่เกี่ยวข้องเท่านั้นที่ส่งถึงบุคคลที่เหมาะสม

การรักษาความปลอดภัยของข้อมูลลับสำหรับการแจ้งเตือน

ที่อยู่เว็บฮุกและโทเค็น API สำหรับบริการแจ้งเตือนเป็นข้อมูลอ่อนไหว คุณไม่ควรกำหนดค่าเหล่านี้เป็นค่าตายตัวไว้โดยตรงในไฟล์กระบวนการทำงานโดยเด็ดขาด

จัดเก็บข้อมูลเหล่านี้เป็นข้อมูลลับของ GitHubเสมอ ข้อมูลเหล่านี้จะถูกเข้ารหัสและเปิดเผยให้ตัวประมวลผลเห็นเฉพาะระหว่างการทำงานของกระบวนการเท่านั้น จึงช่วยรักษาข้อมูลรับรองของคุณให้ปลอดภัย

แบบทดสอบสั้นเกี่ยวกับการเตือน

พิจารณากระบวนการทำงานที่ออกแบบมาเพื่อสร้างและทดสอบโค้ด เราต้องการรับการแจ้งเตือนบนสแล็ก ONLY เมื่อขั้นตอนการสร้างหรือการทดสอบล้มเหลว

ควรใช้เงื่อนไข if: ใดกับขั้นตอนการแจ้งเตือนสแล็กเพื่อให้ได้ผลลัพธ์นี้

สรุป: การแจ้งเตือนและการเตือน

คุณได้เรียนรู้วิธีตั้งค่าการแจ้งเตือนและการเตือนอัตโนมัติสำหรับกระบวนการทำงานของ GitHub แล้ว ประเด็นสำคัญมีดังนี้:

  • ใช้บริการภายนอก เช่น สแล็กหรือเว็บฮุก สำหรับการเตือนทั่วทั้งทีม
  • การทำงานจากมาร์เก็ตเพลสช่วยให้การเชื่อมต่อกับบริการยอดนิยมง่ายขึ้น
  • ใช้เงื่อนไข if: เช่น failure() เพื่อกำหนดการแจ้งเตือนแบบเจาะจง
  • รักษาความปลอดภัยให้ที่อยู่เว็บฮุกและโทเค็นที่สำคัญโดยใช้ข้อมูลลับของ GitHub เสมอ

การเตือนที่มีประสิทธิภาพช่วยให้ทีมของคุณทำงานเชิงรุกในการรักษาสถานะของกระบวนการทำงาน

เริ่มต้นได้ฟรี

เรียนรู้ CI/CD with GitHub Actions & DevOps Pipelines ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

คำถามที่พบบ่อย

บทเรียน “การตั้งค่าการแจ้งเตือน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตั้งค่าการแจ้งเตือน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CI/CD with GitHub Actions & DevOps Pipelines ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่าการแจ้งเตือน”

กำหนดค่าการแจ้งเตือนอัตโนมัติสำหรับไปป์ไลน์ที่ล้มเหลว สำเร็จ หรือเกิดเหตุการณ์สำคัญ โดยใช้ช่องทางการสื่อสารต่าง ๆ คุณปฏิบัติ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การตั้งค่าการแจ้งเตือน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม

ได้ บทเรียน CI/CD with GitHub Actions & DevOps Pipelines ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

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