Utløsere og hendelser for arbeidsflyter
Utforsk ulike hendelser som kan utløse GitHub Actions-arbeidsflyter, for eksempel push, pull requests og planlagte hendelser.
Utløsere og hendelser for arbeidsflyter er en gratis leksjon i CI/CD med GitHub Actions og DevOps-pipelines på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i CI/CD med GitHub Actions og DevOps-pipelines, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i CI/CD med GitHub Actions og DevOps-pipelines inneholder totalt 4 leksjoner.
Hva starter en arbeidsflyt?
Arbeidsflyter i GitHub Actions kjører ikke av seg selv. De trenger et signal for å starte! Dette signalet kalles en trigger.
Utløsere er bestemte hendelser som forteller GitHub Actions: «Hei, noe har skjedd! På tide å kjøre denne arbeidsflyten.» Det er viktig å forstå utløsere for å kunne automatisere utviklingsprosessen effektivt.
Nøkkelordet «on»
I arbeidsflytfilen din (en .yml-fil i katalogen .github/workflows) definerer du utløsere ved hjelp av nøkkelordet on.
Denne delen forteller GitHub Actions når arbeidsflyten skal kjøres. Du kan angi én eller flere hendelser.
name: My First Triggered Workflow
on:
push: # This workflow will run on every push event
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run a simple command
run: echo "Workflow triggered!"
Reagere på kodepush
Hendelsen push er en av de vanligste utløserne. Den utløses hver gang kode pushes til repositoriet ditt, enten det er en ny commit eller en sammenslåing.
Som standard kjører en push-utløser for alle grener.
on: push
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- name: Say Hello
run: echo "Code was pushed!"
Målrettede push
Du kan finjustere push-utløseren slik at den bare kjører for bestemte grener eller når det skjer endringer i bestemte filbaner. Dette bidrar til å optimalisere arbeidsflytene dine.
branches: Kjør bare når det pushes til bestemte grennavn.paths: Kjør bare når det gjøres endringer i filer i angitte kataloger.
on:
push:
branches:
- main
- 'feature/*' # Glob pattern for feature branches
paths:
- 'src/**' # Only if changes in src/ directory
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Push to relevant branch/path detected!"
Automatisere kontroller av pull requests
Hendelsen pull_request utløses når en pull request opprettes, synkroniseres (når nye commit pushes til PR-grenen) eller åpnes på nytt.
Den egner seg godt til å kjøre automatiske kontroller som tester, linting eller kodegjennomganger før endringer slås sammen med hovedkodebasen.
on: pull_request
jobs:
pr_check:
runs-on: ubuntu-latest
steps:
- name: PR opened/updated
run: echo "A pull request was opened or updated!"
Bestemte PR-handlinger
Du kan finjustere pull_request-utløseren ytterligere ved å angi types. Da kan arbeidsflyten reagere bare på bestemte handlinger knyttet til en pull request.
opened: Når en ny pull request opprettes.synchronize: Når nye commit pushes til PR-grenen.reopened: Når en lukket pull request åpnes på nytt.
on:
pull_request:
types: [opened, synchronize, reopened] # Run only on these PR actions
jobs:
pr_review:
runs-on: ubuntu-latest
steps:
- run: echo "PR action: ${{ github.event.action }}"
Tidsbaserte utløsere
Hendelsen schedule lar deg kjøre workflows på bestemte tidspunkter ved hjelp av cron-syntaks. Dette passer perfekt for daglige rapporter, oppryddingsoppgaver eller periodiske kontroller.
Cron-syntaks bruker fem stjerner som representerer: minute hour day-of-month month day-of-week.
on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight UTC
- cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri
jobs:
scheduled_task:
runs-on: ubuntu-latest
steps:
- run: echo "Scheduled workflow running!"
Manuelle workflow-kjøringer
Noen ganger trenger du å kjøre en workflow manuelt, for eksempel ved en utrulling eller en spesifikk vedlikeholdsoppgave. Hendelsen workflow_dispatch gjør dette mulig.
Når denne utløseren er til stede, vises en "Kjør workflow"-knapp i GitHub-grensesnittet for workflowen, slik at du kan utløse den ved behov.
on: workflow_dispatch
jobs:
manual_task:
runs-on: ubuntu-latest
steps:
- run: echo "This workflow was triggered manually!"
Utover det grunnleggende
Selv om push, pull_request, schedule og workflow_dispatch er de vanligste, tilbyr GitHub Actions mange andre hendelsesutløsere.
workflow_call: For å opprette gjenbrukbare workflows.repository_dispatch: For å utløse workflows fra eksterne systemer via et API-kall.- Mange flere for bestemte GitHub-hendelser (f.eks.
issues,release,fork).
Utløseroppgave
Du må sette opp en workflow som automatisk genererer en ukentlig rapport hver fredag kl. 17:00 UTC, uavhengig av kodeendringer. Hvilken utløserhendelse passer best til denne oppgaven?
Repetisjon av utløsere
Godt arbeid med å utforske utløsere i GitHub Actions! Du har lært hvordan workflows startes av ulike hendelser:
push: For endringer som pushes til repositoryet ditt.pull_request: For handlinger knyttet til pull requests.schedule: For tidsbaserte, gjentakende oppgaver ved hjelp av cron.workflow_dispatch: For manuell kjøring fra grensesnittet eller API-et.
Å velge riktig utløser er første steg mot å bygge effektive og velfungerende CI/CD-pipeliner!
Lær deg CI/CD med GitHub Actions og DevOps-pipelines 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
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Utløsere og hendelser for arbeidsflyter» gratis?
Ja – hele teksten i «Utløsere og hendelser for arbeidsflyter» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av CI/CD med GitHub Actions og DevOps-pipelines-kurset, kan du oppgradere til CoddyKit PRO. Kurset i CI/CD med GitHub Actions og DevOps-pipelines inneholder totalt 4 leksjoner.
Hva lærer jeg i «Utløsere og hendelser for arbeidsflyter»?
Utforsk ulike hendelser som kan utløse GitHub Actions-arbeidsflyter, for eksempel push, pull requests og planlagte hendelser. Du øver på CI/CD med GitHub Actions og DevOps-pipelines 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 CI/CD med GitHub Actions og DevOps-pipelines?
Ingen tidligere erfaring er nødvendig. CI/CD med GitHub Actions og DevOps-pipelines 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 1 av 4.
Hvor lang tid tar leksjonen «Utløsere og hendelser for arbeidsflyter»?
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 CI/CD med GitHub Actions og DevOps-pipelines-leksjonen?
Ja. Alle CI/CD med GitHub Actions og DevOps-pipelines-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
- Utløsere og hendelser for arbeidsflyter
- Kjøre tester med GitHub Actions
- Linting og kodekvalitetskontroller
- Bufring av avhengigheter for raskere bygg