Utvikling involverer ofte trinn som å bygge og teste koden din. Strømlinjeform arbeidsflyten din – og sørg for at den er pålitelig – ved å automatisere disse oppgavene.

Å definere arbeidsflyter for å automatisere oppgaver kan akselerere programvareutviklingen din betydelig. Det finnes mange strategier for å effektivisere arbeidsflyter, med valget ofte avhengig av det spesifikke verktøyet og miljøet som brukes.

En populær løsning som du kan bruke for å automatisere utviklingsarbeidsflytene dine, er GitHub Actions. GitHub Actions muliggjør sømløs integrasjon og automatisering av programvareutviklingsprosesser. Ved å bruke GitHub Actions kan du definere, dele og automatisk kjøre egendefinerte arbeidsflyter.

Hva er GitHub-handlinger?

GitHub Actions er en fleksibel og skalerbar plattform for automatisering av oppgaver og arbeidsflyter i programvareprosjekter. Det eliminerer behovet for komplekse eksterne CI/CD-systemer ved å tilby et sentralisert rom for å lage, dele og gjenbruke arbeidsflyter.

Kritiske funksjoner ved GitHub Actions inkluderer arbeidsflytautomatisering, et stort økosystem av forhåndsbygde handlinger og samarbeid med eksisterende arbeidsflyter. GitHub Actions gir tilpasningsmuligheter gjennom variabler, hemmeligheter og innganger. Den tilbyr også kompatibilitet på tvers av plattformer for ulike programmeringsspråk og operativsystemer.

GitHub Actions forenkler kontinuerlig integrasjon og distribusjon og administrerer avhengigheter. Det sikrer også testing og kvalitetssikring og effektiviserer kontinuerlig levering og distribusjon.

Det tilbyr essensielle brukstilfeller som kontinuerlig integrasjon og testing, automatisert kodegjennomgang og analyse, utgivelsesautomatisering og klargjøring av skyinfrastruktur. Disse funksjonene forbedrer utviklingsarbeidsflytene og fremmer produktivitet og samarbeid.

Komme i gang med GitHub-handlinger

Før du fordyper deg i forviklingene ved GitHub Actions, må du aktivere det for deg GitHub-depot.

Du kan aktivere GitHub Actions for depotet ditt ved å følge disse trinnene:

  1. Naviger til depotet ditt på GitHub og klikk på "Handlinger"-fanen i depotmenyen.
  2. Hvis dette er første gang du får tilgang til GitHub Actions for depotet, vil du få en melding om å sette opp en arbeidsflyt. Velg en passende arbeidsflytmal eller lag en ny fra bunnen av.
  3. Å sette opp arbeidsflyten vil aktivere GitHub Actions for depotet.

Forstå GitHub-handlinger: Nøkkelord og konsepter

GitHub Actions dreier seg om flere grunnleggende konsepter. Disse konseptene danner byggesteinene i automatiseringsevnene. Du må forstå følgende nøkkelord for å få mest mulig ut av GitHub Actions.

Arbeidsflyter

Arbeidsflyt er et avgjørende konsept; de lar deg definere tilpassede automatiserte prosesser. Disse automatiserte prosessene kjører hver gang spesifikke hendelser oppstår i depotet ditt.

Du definerer arbeidsflyter med YAML-filer og spesifiserer jobbene de består av.

Arbeidsplasser

En arbeidsflyt inneholder én eller flere jobber. Hver jobb representerer en arbeidsenhet som kan kjøres samtidig eller sekvensielt med andre jobber i en arbeidsflyt. Du vil definere jobber med en YAML-fil, og du vil vanligvis definere dem som en rekke trinn.

Trinn

Trinn er de individuelle oppgavene eller handlingene som utgjør en jobb. De representerer den minste arbeidsenheten i en arbeidsflyt. Trinn kan utføre et bredt spekter av handlinger som å kjøre kommandoer, kalle eksterne APIer eller distribuere kode.

Handlinger

Handlinger er gjenbrukbare kodeenheter som innkapsler spesifikk funksjonalitet. Du kan bruke handlinger på tvers av flere arbeidsflyter.

Handlinger inkluderer byggekode, distribusjon av applikasjoner, sending av varsler eller samhandling med eksterne tjenester. Det er tre typer handlinger tilgjengelig:

  • Forhåndsbygde handlinger: Handlingene opprettet av GitHub eller fellesskapet er tilgjengelige på GitHub Actions Marketplace. Du kan bruke dem i arbeidsflytene dine ved å spesifisere handlingsnavnet og versjonen i bruksfeltet (f.eks. bruker: actions/checkout@v2).
  • Docker Container Actions: Du kan definere handlinger ved hjelp av Docker-containere. Dette lar deg kapsle inn et sett med kommandoer eller skript i et beholderbilde og bruke det som en handling. Du kan spesifisere Docker-bildet i bruksfeltet, akkurat som en forhåndsbygd handling (f.eks. bruker: docker://node: 14).
  • Sammensatte kjøringstrinn: Sammensatte kjøringstrinn lar deg definere egendefinerte handlinger direkte i arbeidsflytfilen. Disse trinnene kan inkludere en sekvens av skallkommandoer eller referere til eksterne skript. De bidrar til å lage små, gjenbrukbare handlinger som er spesifikke for arbeidsflyten din.

Handlinger er byggesteinene til GitHub Actions siden de lar deg utvide og tilpasse automatiseringsarbeidsflytene dine.

arrangementer

Hendelser utløser arbeidsflyter for å starte. Hendelser kan være spesifikke handlinger, for eksempel lagerpush, oppretting av pull-forespørsel eller planlagte handlinger. GitHub tilbyr et bredt spekter av hendelser som du kan utnytte for å trigge arbeidsflytene dine basert på de ønskede forholdene.

Løpere

Løpere er virtuelle maskiner eller beholdere som utfører jobber innenfor en arbeidsflyt. GitHub tilbyr vertsbaserte løpere som støtter en rekke operativsystemer og miljøer. Du kan også sette opp løpere som er vert for deg selv for å møte spesifikke krav.

Opprette arbeidsflyter med GitHub-handlinger

Du vil definere arbeidsflyter i en YAML-fil (Yet Another Markup Language) med YAML-syntaks. YAML gir en lesbar og lett forståelig måte å definere konfigurasjoner og arbeidsflyter på.

Lage en .github/arbeidsflyter katalogen i depotet for å være vert for YAML-filer som representerer arbeidsflyten din.

Her er innholdet i en enkel arbeidsflyt YAML-fil:

Navn:Arbeidsflyt

på:
trykk:
grener:
-hoved-

pull_request:
grener:
-hoved-

arbeidsplasser:
bygge:
kjører på:ubuntu-siste

trinn:
-Navn:Sjekk utkode
bruker:actions/checkout@v2

-Navn:Settopp
bruker:actions/setup-go@v2
med:
go-versjon:'1.16'

-Navn:Byggeprosjekt
løpe:bygge./...

-Navn:Løpetester
løpe:test./...

Dette YAML-programmet definerer en arbeidsflyt kalt "Go Workflow" for et Go-prosjekt.

Arbeidsflyten definerer to hendelser som utløser den: trykk og pull_requesthoved- gren. Dette betyr at den vil kjøre når det er en push- eller pull-forespørsel til hovedgrenen.

De bygge jobben kjører på en ubuntu-siste runner, en GitHub-vertsbasert virtuell maskin som du kan spesifisere for å kjøre jobben.

De trinn komponenten inneholder en liste over handlinger som skal kjøres i rekkefølge. I dette tilfellet sjekker jobben først ut koden ved hjelp av handlinger/kasse handling og bygger deretter prosjektet ved å kjøre gå og bygg ./... og testene ved å kjøre gå test ./... kommando.

Når du har definert arbeidsflytfilen, kan du forplikte og skyve den til depotet ditt. GitHub Actions oppdager og kjører den nye arbeidsflyten når de angitte hendelsene inntreffer.

Du kan sjekke depotet ditt Handlinger fanen for informasjon om GitHub-handlinger og arbeidsflyter.

Distribuer React-applikasjoner til Firebase med GitHub-handlinger

Det er mye du kan gjøre med GitHub Actions. For eksempel er det utrolig nyttig for automatisk å distribuere React-apper til Firebase.

Du kan sette opp en CI/CD-pipeline som bygger, tester og distribuerer React-applikasjonen din til Firebase når du sender endringer til depotet ditt. Å integrere GitHub Actions og Firebase kan hjelpe deg med effektive og pålitelige distribusjoner.