Sist endret: 21. mai 2026

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
  1. Finn applikasjonen du vil jobbe med lokalt i Dashboardet i Altinn Studio
  2. Navigér til repositoriet ved å trykke på Repository-knappen

    Repositoryknappen markert i et bilde

  3. Kopiér lenken til repoet (den blå firkanten), enten manuelt eller ved å trykke på knappen markert med en rød sirkel.

    Markert url til repository i Gitea i et bilde

  4. Åpne en terminal i ditt lokale utviklingsmiljø
    • Naviger til ønsket lokasjon for applikasjonsrepoet
    • Skriv kommandoen git clone og lim inn URLen du kopierte i forrige steg
    $ git clone https://altinn.studio/repos/<org>/<app-name>.git
    
    $ git clone https://<brukernavn>:<access-token>@altinn.studio/repos/<org>/<app-name>.git
    
    • I terminalen skal du se en output som likner dette
    Cloning into 'app-name'...
    remote: Enumerating objects: 982, done.
    remote: Counting objects: 100% (982/982), done.
    remote: Compressing objects: 100% (950/950), done.
    remote: Total 982 (delta 600), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (982/982), 166.38 KiB | 1.51 MiB/s, done.
    Resolving deltas: 100% (600/600), done.
    

En mappe med samme navn som applikasjonen er opprettet og innholdet i applikasjonsrepoet er klonet inn i mappen. Nå er det bare å åpne ditt foretrukne utviklingsverktøy og komme i gang med utviklingen.

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

  1. Navigér til applikasjonsrepoet ditt i en terminal.
  2. 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.
  3. Lagre (commit) endringene med en fornuftlig melding med kommandoen git commit -m <commit-melding>
  4. 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.

Les mer om git pull her

Hvordan synkronisere endringer i Altinn Studio

I Altinn Studio må endringer synkroniseres på samme vis som ved lokale endringer.

Laste ned endringer

  1. Trykk på Hent endringer på Lage-siden til applikasjonen i Altinn Studio.

    Hent endringer i Altinn Studio

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

    Hent endringer bekreftelse

Laste opp endringer

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

    Last opp endringer i Altin Studio

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

    Commitmelding

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

    Lagre validerte endringer

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

    Lagre bekreftelse

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.

MERK For å kunne kjøre appen i LocalTest må applikasjonen ha en tilknyttet datamodell.
ADVARSEL Hvis du har en eksisterende 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.
  1. Start lokal testplattform: Gå til app-repoet i terminalen og kjør studioctl env up.
  2. Kjør applikasjonen i LocalTest: Kjør studioctl run fra app-repoet. Kommandoen finner appmappen automatisk og starter appen med riktige lokale innstillinger.
  3. 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:

KommandoBeskrivelse
studioctl env up --openStarter lokal testplattform og åpner local.altinn.cloud på port 8000.
studioctl env statusViser status for lokal testplattform.
studioctl env logsViser logger fra LocalTest-containerne.
studioctl run --detachKjører appen i bakgrunnen.
studioctl app logsViser logger fra en app som kjører i bakgrunnen. Bruk --follow for løpende logg.
studioctl stopStopper apper som er startet med studioctl run --detach.
studioctl env downStopper lokal testplattform.
studioctl doctorDiagnostiserer 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.

Den gamle arbeidsflyten bruker app-localtest-repoet direkte. Denne metoden kan fortsatt være nyttig ved feilsøking av et gammelt oppsett, men den anbefalte lokale arbeidsflyten er studioctl.

  1. Last ned og start LocalTest ved å følge stegene beskrevet på GitHub (inkluderer start av appen, som også er forklart under).
  2. Kjør applikasjonen i LocalTest: Åpne et nytt terminalvindu og gå til undermappen App i applikasjonen din (<app-name>/App). Start appen med kommandoen dotnet run og vent på bekreftelse i terminalen.
  3. Forhåndsvis og test applikasjonen: Gå til http://local.altinn.cloud:8000 og logg inn med en testbruker.

Stopp applikasjonen ved å trykke ctrl+C i terminalvinduet der du startet den. Stopp LocalTest ved å gå til mappen app-localtest i terminalen og kjøre kommandoen docker compose down.