Dette git repoet inneholder et lite node prosjekt, med en Azure Function app, og et lite Test prosjekt.
I Github, kan du trykke "Fork", for å lage din egen kopi av repoet, til din egen brukerkonto.
Da kan du sette opp og kjøre Github Actions, ved å endre på .github/workflows/workflow.yaml
filen.
Målet er å teste ut Github actions i praksis, og du skal dermed få løse noen oppgaver.
Du kan redigere og committe filer direkte på Github nettsiden,
eller trykke .
for å åpne repoet i et VSCode interface i browseren (anbefales).
Eller laste ned koden lokalt, gjøre endringer og pushe tilbake.
Det kan være lurt å lage en ny commit, (og pushe til Github, om du jobber lokalt),
for hver oppgave, for å se om du har gjort det riktig.
Vi kan holde oss til å jobbe i main
branchen.
//TODO: la repoet ha en basic workflow fil, med kommentarer hvor nye steps skal lages. //og gi full workflow fil, for function deployment oppgaven (egen branch?) husk å customize function app navn //TODO formatere alt, utenom sum tittelen, slik at bare den dukker opp i linting/format Lage Deployment steg for å deploye til Azure (Gi full oppskrift)
Dette prosjektet er et lite "mandags-prosjekt", og det har en unit-test som kanskje ikke virker som den skal, en dependency med en kjent sårbarhet, samt en eller flere lint/formaterings feil.
Dette skal vi forsøke å finne ved hjelp Github actions steps
, og fikse med nye commits.
- "Fork" repoet, slik at du har det på din egen Github konto og kan committe og herje på med Github actions.
- I workflow.yaml filen, sett opp en
job
som gjør følgende:- Kjører ved alle nye commits på
main
branchen - Bruker ubuntu-latest til å kjøre jobben
- Og et
step
som Sjekker ut koden i repoet (actions/checkout@v4
)
- Kjører ved alle nye commits på
- Legg til en
action
som setter opp node miljøet vi skal bruke til å bygge koden (solutionen). Bruk node versjon20
. - Legg til en action som bruker
npm ci
for å installere dependencies. - Legg til en action som kjører unit testene i prosjektet. (
npm test
)- Dersom den klarte å kjøre testene, var det noe som feilet?
- Kan du lage en ny commit med kode-endringer som fikser feilen, og se om testene nå blir grønne (får "Passed") i Github actions?
- Legg til en action som utfører såbarhets sjekk av npm pakker i prosjektet. (
npm audit
)- Sjekk loggen til jobben på Github, var det noen pakker med sårbarheter?
- Oppdater sårbarhetene
- Legg til en action som linter koden med eslint. (HINT:
npm init @eslint/config@latest
for å legge til eslint)- Legg til eslint
- Legg til en ny action som bruker eslint til å linte koden
- Sjekk loggen til jobben på Github, var det noen Lint feil?
- Fiks eventuele feil
- Siste oppgave (type: Stor oppgave): Å Deploye koden til en Azure Function app! Se egen readme fil: azure-oppsett.md