Skip to content

Commit

Permalink
Introcourse module3 update (#1108)
Browse files Browse the repository at this point in the history
* Update module 3 (en)

* Update module 3 (nb)

---------

Co-authored-by: Therese Stokkan <[email protected]>
  • Loading branch information
thestokkan and Therese Stokkan authored Sep 6, 2023
1 parent ce784d2 commit 5ff9820
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 52 deletions.
13 changes: 10 additions & 3 deletions content/app/app-dev-course/modul3/_index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags: [apps, training, build, deploy, test ]
weight: 20
---
{{% notice warning %}}
This module requires that you are part of an organization with an enabled test environment for Altinn Apps. If this is not the case, move on to the next module.
This module requires that you are part of an [organization](/app/getting-started/create-user/#join-an-organization) with an enabled test environment for Altinn Apps. If this is not the case, move on to the [next module](../modul4/).
{{% /notice %}}


Expand Down Expand Up @@ -108,6 +108,13 @@ Internal users in Digdir should use one of the test users found in [the test dat

In this module you have built and deployed your application to TT02, logged into Altinn with a test user and tested your application.

### Solution

If you did not manage to complete all the steps, we have an [example solution](https://altinn.studio/repos/ttd/tilflytter-sogndal-lf/src/branch/bolk/3) that you can use as inspiration.
{{% expandlarge id="solution" header="Solution" %}}
[(Module 3 source code - previous version)](https://altinn.studio/repos/ttd/tilflytter-sogndal-lf/src/branch/bolk/3) that you can use as inspiration.
{{% /expandlarge %}}

<br><br>

{{% center %}}
[<< Previous module](../modul2/)      [Next module >>](../modul4/)
{{% /center %}}
159 changes: 110 additions & 49 deletions content/app/app-dev-course/modul3/_index.nb.md
Original file line number Diff line number Diff line change
@@ -1,116 +1,177 @@
---
title: Modul 3
description: Bygg og deploy applikasjon til testmiljø
description: Bygg og publiser applikasjon til testmiljø
linktitle: Modul 3
tags: [apps, training, build, deploy, test ]
weight: 20
---

{{% notice warning %}}
Denne modulen krever at du er medlem av en organisasjon som har et etablert testmiljø for Altinn Apps. Dersom dette ikke er tilfellet, går du bare videre til neste modul.
Denne modulen krever at du er medlem av en organisasjon som har et etablert testmiljø for Altinn Apps. Dersom dette ikke er tilfellet kan du videre til [neste modul](../modul4/).
{{% /notice %}}


I denne modulen skal du bygge og deploye applikasjonen til Altinns testmiljø (TT02) og verifisere at alt fungerer som forventet også der.

I denne modulen skal du bygge og publisere applikasjonen til [Altinns testmiljø (TT02)](https://tt02.altinn.no/) og verifisere at alt fungerer som forventet også der.

**Temaer som dekkes i denne modulen:**
- Sette egendefinerte krav for ressursbruk
- Bygg av applikasjon
- Deploy av applikasjon

- Bygge applikasjon
- Publisering (deployment) av applikasjon

## Oppgaver
{{% expandlarge id="endre-resursser" header="Sette egendefinerte krav for ressursbruk" %}}
{{% expandlarge id="endre-ressurser" header="Sette egendefinerte krav for ressursbruk" %}}

Alle applikasjoner kommer med et standardoppsett for ressursbruk og skalering i applikasjonsclusteret.
Det oppsettet er det mulig å overstyre dersom applikasjonen din skulle ha andre behov.
- Man kan endre antall replikas (instanser av applikasjonen som kjører samtidig)
- Man kan endre reglene for hvor tidlig eller sent applikasjonen skal skalere antall instanser ut ifra CPU eller minnebruk
- Man kan endre hvor mye ressurser som skal dedikeres til applikasjonens instanser i clusteret
Du kan overstyre følgende innstillinger for å tilpasse applikasjonens behov:

Ved å overstyre disse verdiene kan man for mindre applikasjoner spare kostnader,
og for større applikasjoner sørge for at de har en optimal ytelse med alle nødvendige ressurser tilgjengelig.
- Antall replikas (instanser av applikasjonen som kjører samtidig)
- Regler for når applikasjonen skal skalere antall instanser basert på CPU eller minnebruk
- Hvor mye ressurser som skal dedikeres til applikasjonens instanser i clusteret

For denne testapplikasjonen ønsker vi at du skal skalere ned resursbruken til det minimale.
Ved å overstyre disse innstillingene kan man spare kostnader og sørge for at de har en optimal ytelse med alle nødvendige ressurser tilgjengelig.

Skalering: `replicaCount: 1`
### Oppgaver

Ressursbruk: Sett _requests_ til `cpu: 50m` og `memory: 128Mi`
For denne testapplikasjonen ønsker vi at du skal skalere ned ressursbruken til det minimale med følgende innstillinger:

1. Skalering: `replicaCount: 1`
2. Ressursbruk: Sett _requests_ til `cpu: 50m` og `memory: 128Mi`

{{% notice info %}}
Alle endringer knyttet til skalering og ressursbruk gjøres i `deployment/values.yaml`-filen
Alle endringer knyttet til skalering og ressursbruk gjøres i filen `App/deployment/values.yaml`
{{% /notice %}}


### Nyttig dokumentasjon
- [Sette egendefinerte regler for skalering](/nb/app/development/configuration/deployment/#skalering)
- [Sette egendefinerte grenser for ressursbruk](/nb/app/development/configuration/deployment/#konfigurasjon-av-ressurser)
{{% /expandlarge %}}



{{% expandlarge id="bygge-applikasjon" header="Bygge applikasjon" %}}

Når man refererer til å bygge en applikasjon i Altinn Studio,
betyr dette å opprette en versjon av applikasjonens nåværende tilstand
som kan deployes til ett eller flere miljø.
som kan publiseres til ett eller flere miljø.

Opprett et nytt bygg for applikasjonen med versjonsnr `0.0.1`
### Oppgaver

1. Opprett et nytt bygg for applikasjonen med versjonsnr `0.0.1`
og legg til en beskrivende kommentar om hva versjonen inneholder.

### Nyttig dokumentasjon
- [Bygge app i Altinn Studio](/nb/app/testing/deploy/#bygge-app)

{{% /expandlarge %}}

{{% expandlarge id="publisere-applikasjon" header="Publisere applikasjon" %}}

{{% expandlarge id="deploye-applikasjon" header="Deploye applikasjon" %}}

Ved å deploye en applikasjon til testmiljø vil man kunne teste alle integrasjoner.
Ved å publisere en applikasjon til testmiljø vil man kunne teste alle integrasjoner.
I tillegg benyttes TT02 ofte til å verifisere at en applikasjon oppfører seg som forventet
før man deployer til produksjon.
før man produksjonssetter den.

{{% notice info %}}
For å kunne deploye en applikasjon til TT02,
må organisasjonen som eier applikasjonen ha et apps-cluster i testmiljøet.
I tillegg trenger utvikleren som skal deplopye applikasjonen [rollen Deploy-TT02](/nb/app/guides/access-management/studio/#deploy-tt02)
for organisasjonen i Altinn Studio.
For å kunne publisere en applikasjon til TT02 må organisasjonen som eier den ha et app-cluster i testmiljøet.
I tillegg må utvikleren som skal gjennomføre publiseringen inneha [rollen Deploy-TT02](/nb/app/guides/access-management/studio/#deploy-tt02).
{{% /notice %}}

**Deploy applikasjonen din til TT02.**
### Oppgaver

1. Publiser applikasjonen din til TT02.

### Nyttig dokumentasjon
- [Deploye app til testmiljø](/nb/app/testing/deploy/#deploy-av-app-til-testmiljø)

- [Publisere app til testmiljø](/nb/app/testing/deploy/#deploy-av-app-til-testmiljø)
- [Tilgangsstyring for organisasjon i Altinn Studio](/nb/app/guides/access-management/studio/#tilgangsstyring-for-organisasjonen)

### Forståelsessjekk
- Er det mulig å ha to versjoner av en applikasjon i TT02 samtidig?
- Hva skjer hvis man deployer samme versjon av applikasjonen til miljøet en gang til?
- Vil applikasjonen være tilgjengelig umiddelbart etter deploy?
- Er det mulig å fjerne en applikasjon fra miljøet hvis den først er blitt deployet?
{{% expandsmall id="m3t1q1" header="Er det mulig å ha to versjoner av en applikasjon i TT02 samtidig?" %}}

Nei, det er kun mulig å ha én versjon av applikasjonen ute i et miljø av gangen.
Publiserer man en annen versjon, vil eksisterende versjon av applikasjonen overskrives.
{{% /expandsmall %}}

{{% expandsmall id="m3t1q2" header="Hva skjer hvis man publiserer samme versjon av applikasjonen til miljøet en gang til?" %}}

Da vil alle operasjoner i forbindelse med publisering kjøres om igjen.
Ressurstekster og annen metadata lagres i Altinn Plattform,
og publiserings-pipeline for å rulle ut applikasjonen i clusteret vil og kjøre.

Det vil dog ikke bli spunnet opp nye poder i forbindelse med dette da det ikke er noen reelle endringer på
tjenesten som kjører i miljøet.
{{% /expandsmall %}}

{{% expandsmall id="m3t1q3" header="Vil applikasjonen være tilgjengelig umiddelbart etter publisering?" %}}

Ja, tjenesten vil være tilgjengelig umiddelbart etter publisering.
Dersom status er grønn i Altinn Studio skal du kunne nå applikasjonen.
{{% /expandsmall %}}

{{% expandsmall id="m3t1q4" header="Er det mulig å fjerne en applikasjon fra miljøet hvis den først er blitt publisert?" %}}

Det er foreløpig ikke mulig for en tjenesteeier å selv fjerne en applikasjon fra et miljø når den først er publisert.
Det jobbes med å få på plass denne funksjonaliteten.
Ønsker du å fjerne en publisert applikasjon må du inntil videre kontakte support.
{{% /expandsmall %}}

{{% /expandlarge %}}

{{% expandlarge id="instansiere-i-tt02" header="Teste applikasjonen i TT02" %}}

deploysiden finner du direktelenken til applikasjonen din.
Den er på formatet _{org}.apps.tt02.altinn.no/{org}/{app}_.
siden for publisering finner du direktelenken til applikasjonen din.
Den er på formatet `<org>.apps.tt02.altinn.no/<org>/<app>`.

Med mindre du er logget inn med en bruker fra før av vil denne lenken ta deg til innloggingssiden til Altinn.
Logg inn med en testbruker fra organisasjonen din eller benytt deg av [Tenors testdata](https://www.skatteetaten.no/skjema/testdata/).
Er du intern i Digdir kan du logge inn med en testbruker fra [testdatasettet](https://pedia.altinn.cloud/testing/testdata/datasets/).

Med mindre du er logget inn med en bruker fra før av,
vil denne lenken ta deg til innloggingssiden til Altinn.
Organisasjonen din bør ha tilgang på et sett med testbrukere, benytt en av disse for å logge inn.
### Oppgaver

For interne personer i Digdir: Benytt deg av en av testbruker som du finner i [testdatasettet](https://pedia.altinn.cloud/testing/testdata/datasets/) og logg inn.
1. Logg inn med en testbruker.
2. Test de ulike sporvalgene og skjemasidene for å bekrefte at de oppfører seg som forventet.

**Test de ulike sporvalgene og skjemasidene for å bekrefte at de oppfører seg som forventet.**
### Nyttig dokumentasjon
- [Tenor testdata](https://www.skatteetaten.no/skjema/testdata/)
- [Digdir testdatasett](https://pedia.altinn.cloud/testing/testdata/datasets/)

{{% /expandlarge %}}

## Oppsummering

I denne boken har du bygget og deployet applikasjonen din til TT02,
logget inn i Altinn med en testbruker, og testet applikasjonen din.
I denne modulen har du bygget og publisert applikasjonen din til testmiljøet TT02,
logget inn i Altinn med en testbruker og testet applikasjonen din.

<br>

{{<expandlarge id="solution" header="Løsningsforslag">}}

{{% markdown %}}
[Kildekode Modul 3](https://altinn.studio/repos/testdep/flyttemelding-sogndal/src/branch/modul3)<br>
[(Kildekode Modul 3 - tidligere versjon)](https://altinn.studio/repos/ttd/tilflytter-sogndal-lf/src/branch/bolk/3)<br>


### Sette egendefinerte krav for ressursbruk

Følgende endringer er gjort:

{{< code-title >}}
App/deployment/values.yaml
{{< /code-title >}}

```yaml{linenos=false,hl_lines="3-7"}
deployment:
replicaCount: 1
requests:
cpu: 50m
memory: 1286Mi
...
```

{{% /markdown %}}
{{</expandlarge>}}

### Løsningsforslag
Dersom du ikke har fått til alle stegene har vi et [løsningsforslag](https://altinn.studio/repos/ttd/tilflytter-sogndal-lf/src/branch/bolk/3) som du kan hente inspirasjon fra.
<br><br>

{{% center %}}
[<< Forrige modul](../modul2/)      [Neste modul >>](../modul4/)
{{% /center %}}

0 comments on commit 5ff9820

Please sign in to comment.