Lokal utvikling
Slik kommer du i gang med lokal utvikling
Når du utvikler en app, jobber du både i Altinn Studio og i et lokalt utviklingsmiljø. Her er en oversikt over hvordan du kommer i gang med lokal utvikling.
Slik kloner du appen til et lokalt utviklingsmiljø
studioctl er et anbefalt kommandolinjeverktøy for lokal utvikling av Altinn Studio-apper.
Verktøyet logger inn mot Altinn Studio, kloner app-repoet og setter opp Git-autentisering for deg.
Følg veiledningen for å installere og sette opp studioctl. Der installerer du studioctl, logger inn og henter appen til maskinen din.
Slik synkroniserer du endringer i lokalt utviklingsmiljø
Du må laste opp (pushe) endringer som du gjør lokalt til repoet koden ble klonet fra. Hvis du gjør endringer i Altinn Studio Designer (og laster disse opp til repoet), må du hente dem ned (pull) for å oppdatere den lokale koden.
Du kan synkronisere endringer i det lokale utviklingsmiljøet på flere måter. Mange utviklingsverktøy har gode integrasjoner for nettopp dette, så sjekk gjerne om verktøyet ditt har den typen støtte.
Under kan du lese mer om hvordan du synkroniserer endringer fra kommandolinjen.
Laste opp endringer
- Gå til app-repoet ditt i en terminal.
- Legg til filene du ønsker å laste opp endringer for (pushe) med kommandoen
git add <sti til filen>. Du kan kjøre kommandoen for enkeltfiler, flere filer samtidig eller en mappe. - Lagre (commit) endringene med en beskrivende melding med kommandoen
git commit -m <commit-melding>. - Last opp (push) endringene til master med kommandoen
git push.
Laste ned endringer
Gå til app-repoet ditt i en terminal og kjør kommandoen git pull.
Les mer om git pull i Git-dokumentasjonen.
Slik synkroniserer du endringer i Altinn Studio
I Altinn Studio synkroniserer du endringer med knappene i verktøylinjen øverst på siden.
Hente endringer
Klikk på Hent endringer. Du får beskjed når appen er oppdatert til siste versjon.

Dele endringer
En rød prikk på Del dine endringer viser at du har endringer som ikke er delt ennå.
- Klikk på Del dine endringer.
- Beskriv hva du har endret, og klikk på Del endringer. Vil du se hvilke filer du har endret, klikker du på Se siste endringer.

Del endringer i Altinn Studio
Du får en bekreftelse når endringene er delt.

Hvis noen andre har endret appen på samme sted som deg, får du beskjed om at det er en konflikt i appen. Da kan du laste ned endringene dine som en zip-fil, eller velge Slett mine endringer.
Lokal testing
Du kan forhåndsvise endringene du gjør når du jobber lokalt.
studioctl starter lokal testplattform, kjører appen og kobler appen til local.altinn.cloud på port 8000.
Du trenger en container runtime, for eksempel Docker, Podman eller Colima, og .NET SDK for å kjøre appen som en lokal prosess.
Kjør studioctl doctor for å sjekke at maskinen din har verktøyene som trengs.
app-localtest-stack, må den stoppes og fjernes helt før du kjører studioctl env up. Bruk kommandoen som passer til din container runtime, for eksempel docker compose down -v eller tilsvarende for Podman.- Start lokal testplattform: Gå til app-repoet i terminalen og kjør
studioctl env up.- Hvis du får feilmeldingen
env up: start environment: resource exists but is not managed by this graph: container:localtest-<name>, har du containere igjen fra et tidligere oppsett som studioctl ikke eier. Fjern de gamlelocaltest-containerne og kjørstudioctl env uppå nytt. - Hvis
env upderetter feiler på ennetwork:-ressurs, list den opp meddocker network ls --filter name=localtest(ellerpodman network ls ...) og fjern den meddocker network rm <name>.
- Hvis du får feilmeldingen
- Kjør applikasjonen i LocalTest: Kjør
studioctl runfra app-repoet. Kommandoen finner appmappen automatisk og starter appen med riktige lokale innstillinger. - Forhåndsvis og test applikasjonen: Gå til http://local.altinn.cloud:8000 og logg inn med en testbruker.
Du kan også åpne nettleseren direkte når testplattformen starter:
studioctl env up --open
studioctl run
Nyttige kommandoer:
| Kommando | Beskrivelse |
|---|---|
studioctl env up --open | Starter lokal testplattform og åpner local.altinn.cloud på port 8000. |
studioctl env status | Viser status for lokal testplattform. |
studioctl env logs | Viser logger fra LocalTest-containerne. |
studioctl run --detach | Kjører appen i bakgrunnen. |
studioctl app logs | Viser logger fra en app som kjører i bakgrunnen. Bruk --follow for løpende logg. |
studioctl stop | Stopper apper som er startet med studioctl run --detach. |
studioctl env down | Stopper lokal testplattform. |
studioctl doctor | Diagnostiserer manglende verktøy og lokale miljøproblemer. |
Følg prosessen i prosessmotoren
Prosessmotoren utfører prosessteg asynkront i v9. Når du tester appen lokalt, kan du bruke kontrollpanelet til å se om en arbeidsflyt venter, kjører, er fullført eller har feilet.
Åpne forsiden til localtest og velg Workflow engine i navigasjonen. Du kan også åpne kontrollpanelet direkte på workflow-engine.local.altinn.cloud:8000.
Fanen Live viser planlagte, aktive og nylig avsluttede arbeidsflyter. Bruk fanen Query hvis du vil søke i eldre arbeidsflyter eller avgrense listen etter status og tidspunkt. Kontrollpanelet er tilgjengelig så lenge den lokale testplattformen kjører.
Se endringer fortløpende
- Hvis du endrer JSON-filer, holder det å laste inn siden på nytt.
- Hvis du endrer forhåndsutfylling, må du starte en ny instans av appen (gå til http://local.altinn.cloud:8000 og logg inn igjen).
- Hvis du endrer C#-filer, må du stoppe appen (
ctrl+C) og starte den på nytt (studioctl run).
Du kan oppdatere automatisk ved endring i C#-filer ved å starte appen med dotnet watch fra mappen App.
Kommandoen starter appen, eller laster den på nytt (hot reload) når du endrer kildekoden.
Appen henter de lokale innstillingene fra studioctl selv, så du må ha studioctl installert.
Stoppe app og LocalTest
Stopp appen ved å trykke ctrl+C i terminalvinduet der du startet den.
Stopp LocalTest med studioctl env down.


