Không bao giờ bỏ lỡ lỗi GitHub Actions: cảnh báo tức thì với Echobell

Thiết lập thông báo webhook tức thì khi GitHub Actions thất bại bằng Echobell. Luôn nắm được tình hình pipeline CI/CD nhờ thông báo đẩy hoặc cuộc gọi đến trong vài giây.

Cập nhật

Mục lục

Thông báo lỗi CI qua email và Slack rất dễ bị bỏ lỡ. Echobell Notification Action gửi cảnh báo webhook thẳng tới điện thoại của bạn — thông báo đẩy cho build thông thường, cuộc gọi cho sự cố production — để pipeline hỏng không bị trôi qua trong im lặng.

Thiết lập

1. Tạo một kênh Echobell

  1. Tải Echobell / Google Play rồi đăng nhập
  2. Tạo một kênh với tên kiểu như "GitHub CI/CD Alerts"
  3. Sao chép webhook URL trong phần cài đặt kênh
  4. Trong repo GitHub của bạn: Settings → Secrets and variables → Actions → New repository secret
  5. Đặt tên là ECHOBELL_WEBHOOK_URL rồi dán URL vào

2. Thêm vào workflow của bạn

Thiết lập cơ bản (workflow chỉ có một job):

name: Build and Test

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Build
        run: npm run build

      - name: Test
        run: npm test

      - name: Notify on Failure
        if: failure()
        uses: weelone/echobell-action@v1
        with:
          webhook-url: ${{ secrets.ECHOBELL_WEBHOOK_URL }}

Pipeline nhiều job — hãy dùng một job thông báo riêng phụ thuộc vào tất cả các job quan trọng:

name: Deploy Pipeline

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Tests
        run: npm test

  build:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: npm run build

  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Deploy
        run: npm run deploy

  notify_on_failure:
    runs-on: ubuntu-latest
    needs: [test, build, deploy]
    if: failure()
    steps:
      - name: Send Failure Notification
        uses: weelone/echobell-action@v1
        with:
          webhook-url: ${{ secrets.ECHOBELL_WEBHOOK_URL }}

Job thông báo riêng cho bạn một cảnh báo gộp duy nhất khi lỗi lan theo dây chuyền, thay vì hàng loạt thông báo rời rạc.

Mẹo

Tiêu đề thông báo nên trả lời được: cái gì hỏng, ở đâu và khi nào. Hãy dùng những mẫu kiểu như ❌ Main Branch CI Failed hoặc 🚨 Deploy Pipeline Down - Production.

Dùng kênh riêng cho từng mức nghiêm trọng. Giữ một kênh thông thường cho cảnh báo CI bình thường, và một kênh thứ hai đặt ở chế độ Cuộc gọi cho sự cố production. Trỏ các workflow khác nhau tới các webhook URL khác nhau. Xem thông báo bằng cuộc gọi để biết chi tiết.

Chia sẻ kênh với cả nhóm. Tạo một kênh cho những lỗi CI/CD mà cả nhóm cần thấy, và một kênh riêng cho các vấn đề chỉ liên quan tới hạ tầng. Kênh dùng chung của Echobell cho phép đồng đội đăng ký với tùy chọn thông báo của riêng họ — không ai phải tự cấu hình webhook.

Liên quan