Udforsk GitHub-handlinger
GitHub Actions er en kontinuerlig integrations- og kontinuerlig leveringsplatform (CI/CD), der giver dig mulighed for at automatisere dine build-, test- og udrulningspipelines. Det giver dig mulighed for at oprette arbejdsprocesser, der automatisk opretter, tester og udruller din kode på en hvilken som helst platform. Lad os udforske GitHub-handlinger, og hvordan udviklere bruger dem.
Komponenter i GitHub-handlinger
Du kan køre en GitHub-handling arbejdsproces manuelt eller konfigurere den til at blive udløst, når der opstår en hændelse i dit lager. En pullanmodning kan f.eks. udløse en arbejdsproces, der udfører en valideringskontrol som en del af en gennemgangsproces.
En arbejdsproces indeholder følgende komponenter:
- arbejdsprocesser: Indeholder et eller flere job, der kan køre i sekventiel rækkefølge eller parallelt.
- Job: Indeholder et eller flere trin, der enten kører et script, som du definerer, eller kører en handling. Job kører i deres egen virtuelle maskine løbereller i en objektbeholder.
- trin: Definer de specifikke opgaver, der skal udføres under udførelsen af arbejdsprocessen.
Hvert trin udfører et enkelt shellscript eller handling, der er en udvidelse, der kan genbruges, og som kan forenkle arbejdsprocessen.
Arbejdsprocesser
En arbejdsproces er en konfigurerbar automatiseret proces, der kører et eller flere job. Arbejdsprocesser defineres af en YAML-fil, der er tjekket ind på dit lager. De udføres, når de udløses af en hændelse, køres manuelt eller køres efter en defineret tidsplan.
Arbejdsprocesser defineres i mappen .github/workflows i et lager, og et lager kan have flere arbejdsprocesser, som hver især kan udføre forskellige opgaver. Du kan f.eks. have én arbejdsproces til at oprette og teste pullanmodninger, en arbejdsproces til installation af dit program, hver gang der oprettes en udgivelse, og en arbejdsproces, der tilføjer en etiket, hver gang nogen åbner et nyt problem.
Begivenheder
En hændelse er en bestemt aktivitet i et lager, der udløser kørsel af en arbejdsproces. Aktivitet kan f.eks. stamme fra GitHub, når nogen opretter en pullanmodning, åbner et problem eller pusher en bekræftelse til et lager. Du kan også udløse en arbejdsproces, så den kører efter en tidsplan, ved at sende til en REST API eller manuelt.
Job
Et job er et sæt trin i en arbejdsproces, der udføres på en løber. Hvert trin er enten et shellscript, der udføres, eller en handling, der køres. Trin udføres i rækkefølge og er afhængige af hinanden. Da hvert trin udføres på den samme løber, kan du dele data fra ét trin til et andet. Du kan f.eks. have et trin, der bygger dit program efterfulgt af et trin, der tester det program, der blev bygget.
Du kan konfigurere et jobs afhængigheder med andre job. Job har som standard ingen afhængigheder og kører parallelt med hinanden. Når et job er afhængig af et andet job, venter det på, at det afhængige job fuldføres, før det kan køres. Du kan f.eks. have flere buildjob til forskellige arkitekturer, der ikke har nogen afhængigheder, og et pakkejob, der er afhængigt af disse job. Buildjobbet kører parallelt, og når det lykkes, starter pakkejobbet.
Handlinger
En handling er et brugerdefineret program til GitHub Actions-platformen, der udfører en kompleks, men ofte gentaget opgave. Brug en handling til at hjælpe med at reducere mængden af gentagen kode, som du skriver i dine arbejdsprocesfiler. En handling kan hente dit Git-lager fra GitHub, konfigurere den korrekte værktøjskæde til dit buildmiljø eller konfigurere godkendelsen til din cloududbyder.
Du kan skrive dine egne handlinger, eller du kan finde handlinger, der skal bruges i dine arbejdsprocesser, i GitHub Marketplace.
Løbere
En løber er en server, der kører dine arbejdsprocesser, når de udløses. Hver løber kan køre et enkelt job ad gangen. GitHub leverer Ubuntu Linux-, Microsoft Windows- og macOS-løbere til at køre dine arbejdsprocesser. hver arbejdsproceskørsel udføres på en ny, nyligt klargjort virtuel maskine. GitHub tilbyder også større løbere, som er tilgængelige i større konfigurationer.
Hvis du har brug for et andet operativsystem eller har brug for en bestemt hardwarekonfiguration, kan du hoste dine egne løbere.
Nu, hvor du forstår komponenterne i GitHub-handlinger, kan du undersøge en arbejdsprocesfil.