การตั้งค่าการแจ้งเตือน
กำหนดค่าการแจ้งเตือนอัตโนมัติสำหรับไปป์ไลน์ที่ล้มเหลว สำเร็จ หรือเกิดเหตุการณ์สำคัญ โดยใช้ช่องทางการสื่อสารต่าง ๆ
การตั้งค่าการแจ้งเตือน เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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 เสมอ
การเตือนที่มีประสิทธิภาพช่วยให้ทีมของคุณทำงานเชิงรุกในการรักษาสถานะของกระบวนการทำงาน
คำถามที่พบบ่อย
บทเรียน “การตั้งค่าการแจ้งเตือน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การตั้งค่าการแจ้งเตือน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่าการแจ้งเตือน”
กำหนดค่าการแจ้งเตือนอัตโนมัติสำหรับไปป์ไลน์ที่ล้มเหลว สำเร็จ หรือเกิดเหตุการณ์สำคัญ โดยใช้ช่องทางการสื่อสารต่าง ๆ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การตั้งค่าการแจ้งเตือน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กลยุทธ์การติดตามไปป์ไลน์
- การผสานรวมกับบริการภายนอก
- การตั้งค่าการแจ้งเตือน
- การบันทึกแบบมีโครงสร้างและการติดตามแบบกระจาย