Nie przegap żadnego błędu GitHub Actions: natychmiastowe alerty z Echobell

Skonfiguruj natychmiastowe powiadomienia webhook o błędach GitHub Actions dzięki Echobell. Miej pipeline CI/CD pod kontrolą — push lub telefon w kilka sekund.

Aktualizacja

Spis treści

Powiadomienia o błędach CI wysyłane e-mailem i na Slacku łatwo przeoczyć. Echobell Notification Action wysyła alerty webhook prosto na Twój telefon — powiadomienia push przy zwykłych buildach, połączenia telefoniczne przy awariach produkcji — więc zepsuty pipeline nie przejdzie niezauważony.

Konfiguracja

1. Utwórz kanał w Echobell

  1. Pobierz Echobell / Google Play i zaloguj się
  2. Utwórz kanał o nazwie w rodzaju „GitHub CI/CD Alerts"
  3. Skopiuj adres URL webhooka z ustawień kanału
  4. W swoim repozytorium GitHub: Settings → Secrets and variables → Actions → New repository secret
  5. Nazwij go ECHOBELL_WEBHOOK_URL i wklej adres URL

2. Dodaj akcję do swojego workflow

Podstawowa konfiguracja (workflow z jednym zadaniem):

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 z wieloma zadaniami — użyj osobnego zadania powiadamiającego, zależnego od wszystkich krytycznych zadań:

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 }}

Osobne zadanie powiadamiające daje jeden zbiorczy alert przy kaskadzie błędów, zamiast wielu oddzielnych powiadomień.

Wskazówki

Tytuły powiadomień powinny odpowiadać na pytania: co zawiodło, gdzie i kiedy. Sprawdzają się wzorce w rodzaju ❌ Main Branch CI Failed albo 🚨 Deploy Pipeline Down - Production.

Używaj osobnych kanałów dla różnych poziomów wagi. Zostaw standardowy kanał na zwykłe alerty CI, a drugi, ustawiony na Calling, przeznacz na awarie produkcji. Kieruj różne workflow na różne adresy URL webhooków. Szczegóły znajdziesz w tekście o powiadomieniach telefonicznych.

Udostępniaj kanały zespołowi. Utwórz kanał na błędy CI/CD, które powinien widzieć cały zespół, i osobny na sprawy wyłącznie infrastrukturalne. Dzięki współdzielonym kanałom Echobell osoby z zespołu subskrybują je z własnymi preferencjami powiadomień — nikt nie musi konfigurować webhooków osobno.

Powiązane