Lokal utvikling
Hvordan komme i gang med lokal utvikling
Under utvikling av en applikasjon vil man måtte jobbe både i Altinn Studio og i et lokalt utviklingsmiljø. Her er en oversikt over hvordan du kommer i gang med lokal utvikling.
Hvordan klone applikasjonen 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.
studioctl er foreløpig utgitt som v0.1.0-preview. Det kan fortsatt komme brytende endringer, selv om det ikke er planlagt noen nå.Støttede plattformer
studioctl kan brukes på Windows, Linux og macOS.
For å kjøre lokal testplattform trenger du en container runtime.
Bruk Docker, Podman eller Colima.
Installer studioctl:
curl -sSL https://altinn.studio/designer/api/v1/studioctl/install.sh | sh
På Windows kan du installere fra PowerShell:
iwr https://altinn.studio/designer/api/v1/studioctl/install.ps1 -useb | iex
Logg inn og klon appen:
studioctl auth login
studioctl app clone <org>/<app-name>
cd <app-name>
For automatisering og CI kan du sende inn en eksisterende Studio/Designer API-nøkkel via standard input fra en miljøvariabel:
printf '%s' "$STUDIO_DESIGNER_API_KEY" | studioctl auth login --with-token
Hvordan synkronisere endringer i lokalt utviklingsmiljø
Endringer som gjøres lokalt må lastes opp (pushes) til repoet koden ble klonet fra. Hvis det gjøres endringer i Altinn Studio Designer (og disse er lastet opp til repoet) må de hentes ned (pull) for å oppdatere den lokale koden.
Sykronisering av endringer gjort i det lokale utviklingsmiljøet kan gjøres på flere måter. Mange utviklingsverktøy har gode integrasjoner for nettopp dette, sjekk gjerne om ditt verktøy har den typen støtte.
Nedenfor er det beskrevet hvordan man kan synkronisere endringer fra kommandolinjen.
Laste opp endringer
- Navigér til applikasjonsrepoet ditt i en terminal.
- Legg til filene du ønsker å laste opp endringer for (pushe) med kommandoen
git add <sti til filen>. Kommandoen kan kjøres for enkeltfiler, flere filer samtidig eller en mappe. - Lagre (commit) endringene med en fornuftlig melding med kommandoen
git commit -m <commit-melding> - Last opp (push) endringene til master med kommandoen
git push.
Laste ned endringer
Navigér til applikasjonsrepoet ditt i en terminal og kjør kommandoen git pull.
Hvordan synkronisere endringer i Altinn Studio
I Altinn Studio må endringer synkroniseres på samme vis som ved lokale endringer.
Laste ned endringer
- Trykk på Hent endringer på Lage-siden til applikasjonen i Altinn Studio.

- Har alt gått bra vil du se denne bekreftelsen.

Laste opp endringer
- Trykk på Last opp dine endringer på Lage-siden til applikasjonen i Altinn Studio.

- Legg inn en beskrivende tekst for endringen(e) og trykk Valider endringer.

- Vent på at endringene valideres. Oppstår det en konflikt trykker du på Løs konflikt og følger instruksjonene.
- Trykk Lagre for å laste opp endringene til repoet (master).

- Har alt gått bra vil du se denne bekreftelsen.

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. - 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. |
Se endringer fortløpende
- Ved endringer knyttet til JSON-filer holder det å laste inn siden på nytt.
- Ved endringer i forhåndsutfylling må applikasjonen instansieres på nytt (gå til http://local.altinn.cloud:8000 og logg inn igjen).
- Ved endringer i C#-filer må applikasjonen stoppes (
ctrl+C) og startes på nytt (studioctl run).
For å oppdatere automatisk ved endring i C#-filer, start applikasjonen med dotnet watch.
Denne kommandoen vil enten starte applikasjonen eller laste den inn på nytt (hot reload) ved endringer i kildekoden.
Stoppe app og LocalTest
Stopp appen ved å trykke ctrl+C i terminalvinduet der du startet den.
Stopp LocalTest med studioctl env down.

