Integration med eksterne tjenester
Forbind Deres GitHub Actions-workflows med tredjepartsværktøjer til overvågning, logging og incident management.
Integration med eksterne tjenester er en gratis CI/CD med GitHub Actions og DevOps-arbejdsgange-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i CI/CD med GitHub Actions og DevOps-arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset indeholder 4 lektioner i alt.
Forbind dine CI/CD-forløb
Velkommen til integration af GitHub Actions med eksterne tjenester! Moderne softwareudvikling bygger på, at mange værktøjer arbejder sammen.
Når du forbinder dine CI/CD-forløb med disse værktøjer, kan du automatisere kommunikation, centralisere data og forbedre teamets samlede effektivitet.
- Notifikationer: Få advarsler i Slack eller Teams.
- Problemsporing: Opret JIRA-sager automatisk.
- Overvågning: Send data til Datadog eller Splunk.
Webhooks: Det grundlæggende bindeled
Mange eksterne tjenester bruger webhooks som den primære måde at modtage oplysninger på. Tænk på en webhook som en automatisk meddelelse, der sendes fra én applikation til en anden, når en bestemt hændelse indtræffer.
Når din arbejdsgang i GitHub Actions gennemføres, mislykkes eller udfører et bestemt trin, kan den sende en POST-anmodning med data til en webhook-URL, som den eksterne tjeneste har angivet. Det udløser en handling i den pågældende tjeneste.
Slack: Advarsler i realtid
Det er afgørende at få notifikationer i realtid om status for din arbejdsgang. Slack er et meget almindeligt værktøj til dette.
Hvis du vil sende en meddelelse til Slack fra GitHub Actions, skal du typisk bruge en Slack Incoming Webhook URL. Du kan generere denne URL under indstillingerne for dit Slack-arbejdsområde, f.eks. under 'Apps og integrationer'.
Vigtigt: Gem altid denne følsomme URL som en GitHub Secret, og skriv den aldrig direkte i koden!
Arbejdsgang til Slack-advarsler
Sådan kan du sende en grundlæggende Slack-notifikation ved hjælp af en simpel curl-kommando i din arbejdsgang. Den bruger webhook-URL'en, som er gemt i en hemmelighed med navnet SLACK_WEBHOOK_URL.
Dette eksempel sender en notifikation ved hvert push til main.
name: Slack Notification Demo
on:
push:
branches:
- main
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Send Slack Notification
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"GitHub Actions workflow *${{ github.workflow }}* for commit `{{ github.sha }}` by _${{ github.actor }}_ on branch `${{ github.ref_name }}` has completed!"}' \
${{ secrets.SLACK_WEBHOOK_URL }}Gør det enklere med Marketplace Actions
Selvom curl fungerer, bliver mange integrationer enklere ved hjælp af forudbyggede GitHub Marketplace Actions. Disse handlinger indkapsler logikken til kommunikation med bestemte tjenester, så dine arbejdsgange bliver mere overskuelige og nemmere at læse.
Du kan søge på GitHub Marketplace efter handlinger, der forbinder til den ønskede tjeneste. Der findes for eksempel mange handlinger til Slack, JIRA, Microsoft Teams og meget mere.
JIRA: Automatisér problemsporing
Integration med problemsporingssystemer som JIRA kan automatisere opgaver som:
- Oprettelse af en ny fejlsag, når en arbejdsgang mislykkes.
- Tilføjelse af kommentarer til eksisterende sager baseret på hændelser for pull requests.
- Opdatering af status for sager, efterhånden som koden bevæger sig gennem CI/CD-forløbet.
Det hjælper med at holde udviklings- og driftsteams på linje uden manuel indgriben.
Arbejdsgang til JIRA-sager
Dette eksempel bruger en populær Marketplace Action til at oprette en JIRA-sag, hvis en bestemt arbejdsgang, f.eks. din CI-arbejdsgang, mislykkes. Bemærk, hvordan den bruger GitHub Secrets til godkendelse.
Udløseren workflow_run gør det muligt for denne arbejdsgang at reagere på, at en anden arbejdsgang er gennemført.
name: JIRA Issue on Failed Workflow
on:
workflow_run:
workflows: ["Your CI Workflow Name Here"]
types:
- completed
jobs:
create_issue:
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
runs-on: ubuntu-latest
steps:
- name: Create JIRA Bug Ticket
uses: atlassian/github-jira-action@v2.1.0
with:
jira-base-url: ${{ secrets.JIRA_BASE_URL }}
jira-user-email: ${{ secrets.JIRA_USER_EMAIL }}
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
project: 'DEV'
issue-type: 'Bug'
summary: 'Workflow failed: ${{ github.event.workflow_run.workflow_name }}'
description: 'Workflow run URL: ${{ github.event.workflow_run.html_url }}\nFailed commit: ${{ github.event.workflow_run.head_sha }}'Forbind til overvågning og logfiler
Ud over notifikationer og problemsporing kan du integrere med avancerede værktøjer til overvågning og logning, f.eks. Datadog, Splunk, New Relic eller brugerdefinerede logindsamlere.
- Målinger: Send brugerdefinerede målinger om byggetider eller testresultater.
- Logfiler: Videresend arbejdsgangenes logfiler til centraliseret analyse.
- Sporing: Knyt udrulningshændelser til applikationens ydeevne.
Disse integrationer involverer ofte bestemte API'er eller dedikerede Marketplace Actions fra værktøjsleverandørerne.
Sikr dine integrationer
Når du integrerer med eksterne tjenester, er sikkerhed altafgørende. Du kommer ofte til at håndtere API-nøgler, tokens og webhook-URL'er, som giver adgang til dine eksterne konti.
Brug altid GitHub Secrets til at gemme disse følsomme legitimationsoplysninger. Skriv dem aldrig direkte i dine arbejdsgangsfiler. Det forhindrer utilsigtet eksponering og holder dine legitimationsoplysninger sikre.
Hurtigt tjek: Integrationssikkerhed
Du skal forbinde din arbejdsgang i GitHub Actions med et eksternt system til håndtering af hændelser ved hjælp af en API-nøgle. Hvilken metode er den sikreste og anbefalede måde at håndtere denne API-nøgle i din arbejdsgang på?
Opsummering: Integrerede arbejdsgange
Du har lært, hvordan du integrerer dine arbejdsgange i GitHub Actions med forskellige eksterne tjenester!
- Webhooks er en almindelig mekanisme til disse forbindelser.
- Slack og JIRA er populære eksempler på tjenester til notifikationer og problemsporing.
- GitHub Marketplace Actions gør komplekse integrationer enklere.
- Brug altid GitHub Secrets til sikker håndtering af følsomme legitimationsoplysninger som API-nøgler og webhook-URL'er.
Disse integrationer gør dine CI/CD-forløb mere effektive og forbinder dem bedre med resten af dit teams økosystem.
Lær CI/CD med GitHub Actions og DevOps-arbejdsgange med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Integration med eksterne tjenester” gratis?
Ja — hele teksten til “Integration med eksterne tjenester” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Integration med eksterne tjenester”?
Forbind Deres GitHub Actions-workflows med tredjepartsværktøjer til overvågning, logging og incident management. Du øver dig i CI/CD med GitHub Actions og DevOps-arbejdsgange med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på CI/CD med GitHub Actions og DevOps-arbejdsgange?
Der kræves ingen tidligere erfaring. CI/CD med GitHub Actions og DevOps-arbejdsgange på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Integration med eksterne tjenester”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne CI/CD med GitHub Actions og DevOps-arbejdsgange-lektion?
Ja. Alle CI/CD med GitHub Actions og DevOps-arbejdsgange-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Strategier til pipeline-overvågning
- Integration med eksterne tjenester
- Opsætning af notifikationer og alarmer
- Struktureret logning og distribueret tracing