DevOps-bootcamp · leksjon

Konfigurere varsler og notifikasjoner

Konfigurer automatiske notifikasjoner og varsler for pipelinefeil, vellykkede kjøringer eller kritiske hendelser via ulike kommunikasjonskanaler.

Leksjon 3 av 411 trinn

Konfigurere varsler og notifikasjoner er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hvorfor varsler om pipelinen?

I raskt utviklingsarbeid er det avgjørende å vite hvordan CI/CD-pipelinen fungerer. Automatiske varsler holder teamet informert om viktige hendelser.

I denne leksjonen lærer du hvordan du konfigurerer varsler for vellykkede kjøringer, feil og andre viktige milepæler i pipelinen ved hjelp av GitHub Actions.

Innebygde GitHub-varsler

GitHub tilbyr grunnleggende varsler som standard. Hvis du «følger» et repository, får du e-post- eller nettvarsler for kjøringer av arbeidsflyter.

  • Vellykket: Arbeidsflyten ble fullført.
  • Feil: Arbeidsflyten mislyktes.
  • Nøytral: Arbeidsflyten ble avbrutt.

Disse varslene er imidlertid ofte personlige og mangler den sanntidsbaserte kommunikasjonen for hele teamet som er nødvendig for effektiv CI/CD.

Populære varslingskanaler

For å dekke dette behovet kan GitHub Actions integreres med ulike eksterne tjenester. Vanlige kanaler for varsler til teamet er:

  • Slack: En populær plattform for teamkommunikasjon.
  • Microsoft Teams: Et annet mye brukt samarbeidsverktøy.
  • E-post: For mer formelle eller mindre presserende varsler.
  • Egendefinerte webhooker: For integrasjon med nesten hvilken som helst tjeneste.

Dette gjør det mulig å samle sanntidsoppdateringer på ett sted.

Slack-integrasjon med Actions

Integrasjon med Slack er en vanlig måte å få umiddelbare oppdateringer om pipelinen på. Du kan bruke en GitHub Marketplace Action eller sende data direkte til en Slack-webhook.

Marketplace Actions forenkler prosessen ved å skjule detaljene i HTTP-forespørslene.

Enkel arbeidsflyt for Slack-varsler

Her er en grunnleggende arbeidsflyt som sender et Slack-varsel ved hver push til grenen main. Legg merke til bruken av en GitHub Secret for webhook-URL-en.

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"

Betingede varsler (ved feil)

Ofte ønsker du bare å få et varsel hvis noe går galt. GitHub Actions lar deg legge til betingelser for trinn ved hjelp av if:-uttrykk.

Uttrykket failure() kontrollerer om et tidligere trinn i jobben mislyktes. Dette gjør kommunikasjonskanalene mindre støyende.

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"

Varsler via egendefinerte webhooker

For tjenester uten en dedikert GitHub Action kan du bruke en generell webhook. Dette innebærer å sende en HTTP POST-forespørsel, ofte med curl, til en bestemt URL.

Dette gir maksimal fleksibilitet og gjør det mulig å integrere med egendefinerte dashbord, systemer for hendelseshåndtering eller til og med SMS-gatewayer.

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

Filtrere omfanget av varsler

Det kan hende du vil varsle ulike team om ulike deler av pipelinen. Du kan bruke if:-betingelser til å filtrere varsler basert på:

  • Gren: github.ref == 'refs/heads/main'
  • Jobbstatus: always(), success(), failure(), cancelled()
  • Bestemte trinn: Kontroller resultatet av et bestemt trinn.

Dette sikrer at bare relevante varsler når de riktige personene.

Sikre varslingshemmeligheter

Webhook-URL-er og API-tokener for varslingstjenester er sensitive. De skal aldri hardkodes direkte i arbeidsflytfilene dine.

Lagre dem alltid som GitHub Secrets. De er kryptert og blir bare gjort tilgjengelige for runneren mens arbeidsflyten kjører, slik at legitimasjonen din er trygg.

Kort kunnskapssjekk om varsler

Tenk deg en arbeidsflyt som bygger og tester kode. Vi ønsker å få et Slack-varsel KUN hvis bygge- eller testtrinnene mislykkes.

Hvilken if:-betingelse bør brukes for Slack-varseltrinnet for å oppnå dette?

Oppsummering: Varsler

Du har lært hvordan du konfigurerer automatiske varsler for GitHub Actions-pipeliner. Dette er de viktigste punktene:

  • Bruk eksterne tjenester som Slack eller webhooker for varsler til hele teamet.
  • Marketplace Actions forenkler integrasjon med populære tjenester.
  • Bruk if:-betingelser, for eksempel failure(), for målrettede varsler.
  • Sikre alltid sensitive webhook-URL-er og tokener ved hjelp av GitHub Secrets.

Effektiv varsling sørger for at teamet kan være i forkant når pipelinens tilstand skal vedlikeholdes.

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Konfigurere varsler og notifikasjoner» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Konfigurere varsler og notifikasjoner», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Konfigurere varsler og notifikasjoner»?

Konfigurer automatiske notifikasjoner og varsler for pipelinefeil, vellykkede kjøringer eller kritiske hendelser via ulike kommunikasjonskanaler. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Konfigurere varsler og notifikasjoner»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Strategier for pipelineovervåking
  2. Integrasjon med eksterne tjenester
  3. Konfigurere varsler og notifikasjoner
  4. Strukturert logging og distribuert sporing
← Tilbake til DevOps-bootcamp