Ja, mange steg, men ikke vær redd, det går fort.
- Logg inn i Sonat Azure, og velg "Sonat Playground" subscriptionen.
- Eventuelt, naviger til resource groupen: "fagdag-github-actions"
- Opprett din egen Azure Function app i resource group: "fagdag-github-actions", ved å trykke "+ Create"...
- Velg "Azure services only", og finn "Function app" i listen. Trykk på "Create"
- P[ "hosting options" velg "Consumption"
- Navngi Function appen slik: 'github-fagdag-' for å kunne skille de fra hverandre.
- Velg "node.js" som runtime stack. Og "20 (LTS)" som version. Velg "Norway east" som "Region", og "Linux" som operativsystem.
- Trykk "Create" nederst. Det er basics vi trenger for å sette opp denne demoen.
- Når Function appen er ferdig opprettet, trykk "Go to resource"
- Inne på Function appen, gå til "Configuration" -> "General settings", og sett "SCM Basic Auth Publishing" til "On", for å kunne publisere med publish profile. Lagre.
- Gå tilbake til "Overview" på function appen, trykk "Get publish profile" for å laste ned publishprofile.PublishSettings fil
- På Github repoet ditt, gå til "Settings" -> "Secrets and variables" -> "Actions" -> "New repository secret", med navn "AZURE_FUNCTIONAPP_PUBLISH_PROFILE", og legg innholdet av filen inn som secreten.
- Skriv inn navnet på din Azure Function app, i env variabelen "AZURE_FUNCTIONAPP_NAME" i workflow.yaml
- Alle Github actions workflow steg før Deploy steget, må virke (test,lint og sårbarhets sjekk). Eller bare kommenter de ut.
- Push en ny commit, med Deploy steget i workflow.yaml, og følg med på status på jobben i Github actions. Får den til å deploye? ("Successfully deployed web package to App Service." i Deploy loggen)
- I azure, trykk "Refresh" i menyen på function appen. Ser du Functionen "SumAvToTall" i listen?
- Trykk på Functionen "SumAvToTall". Test den ved å: Trykke "Test/Run" og legg til url parameter "a" og "b" der. (Alternativt: "Get function url", og manuelt legg til to tall som parameter a og b)
Steg 2:
Steg 3.1:
Steg 3.3 - 3.5:
Steg 3.7:
Steg 4:
Steg 5:
Steg 9:
Steg 10: