Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Formålet med dette dokument er at beskrive, hvordan et udviklingsmiljø, til videreudvikling af NAP ref-implementation, skal sættes op, samt hvordan koden deployes og testes.

Sammenhæng med øvrige dokumenter

Dette dokument er en del af den samlede dokumentation for NAP Ref.impl.

Dokumentet er udformet, så det i videst muligt omfang opfylder sit formål uafhængigt af de øvrige dokumenter.

Ønskes mere information omkring arkitektur og design findes dette på NAP Ref.Impl. - Design og Arkitektur beskrivelse.

Hvis der er behov for yderligere dokumentation omkring hele NAP platformen, henvises til NAP Platform - Guide til anvendere

Forudsætninger

Software requirements:

SoftwareVersion
Java8
Docker Gerne nyesteEngine18.02.0+
node10+

Det lokale udviklingsmiljø er opsat med docker-compose.

nap-reference-web og nap-reference-facade ligger som repositories på svn.nspop.dkDisse skal hentes for anvende de foreslåede compose-setup.

Derudover For at kunne køre de compose filer der bliver beskrevet nedenfor, kræves et docker netværk kaldet nap_net. Hvis dette ikke allerede er lavet kør `docker network create nap_net`.

Trafik på localhost:8080 skal routes igennem en lokal reverse-proxy https://svn.nspop.dk/svn/components/nap/nap-compose/, som er på også docket netværket nap_net og eksponeret på port 8080 på localhost.

...

Det meste funktionalitet af Nap-Ref-web kræver, at den er framet i en værtsapplikation.  For at gøre dette, skal opsætning for nap-java-host, nap-lobby-web, nap-admin køres parallelt (Platformsservices (NAP ) Platform - LeverancebeskrivelseGuide til anvendere).

Nap-ref-web

Funktionalitet

Nap-ref-web skal illustrere brugen af nap-typescript-sdk og nap-angular-sdk, anvendelse af samtlige versioner af eventkataloget, og demonstrer et projekt, der lever op til NSP husregler for webløsninger

Udviklingsmiljø

Installer dependencies med `npm install` i rodfolderen.

...

For at starte en webpack dev server i docker køres  køres `docker-compose build && docker-compose up` fra compose/develop.  Developper setuppet volume mapper ./src folderen og konfigurationsfiler fra compose/configuration, hvilket betyder, at ændringer i kildekoden bliver compilet og deployet med det samme. Hvis dependencies ændres skal containeren bygges igen, ellers er det fremover nok at køre `docker-compose up` når services skal startes. Mere information om konfigurering kan læses på NAP Ref.Impl. - Installationsvejledning.

Applikationen kan nu nåes  http://localhost:8080/nap/reference/web/, hvis nap-compose (https://svn.nspop.dk/svn/components/nap/nap-compose/) reverse proxy, står foran som nævnt ovenfor, og ellers på http://Localhost:4600.

...

For at køre serverless skal `--configuration=mock` tilføjes startkommandoen i compose filen i  compose/development/. Alle kald bliver resulterer nu i en indlæsning af ressourcer fra assets/.

Debug

Hvis nap-reference-web køres i serverless mode, kan den med fordel åbnes i chrome/firefox og debugges som vanligvis derfra.

Hvis den åbnes i nap-java-host, er den eneste debugging mulighed. consol.logs(). Disse statements printes til konsole vinduet af hosten, som kan toggles i toppen.

Byg

For at bygge projektet kan køres `npm run build`. For at køre et produktionsbyg køres `npm run build:prod`.

...

For at starte en wildfly server til udvikling køres `docker-compose build --no-cache && docker-compose up´ fra compose/develop. Denne kommando skal køres hver gang der ønskes et nyt deploy af med kode ændringer.

Developper setuppet sørger for at kopier target/nap-ref-facade.war og konfigurationerne fra compose/configuration over i et image NSPS wildfly image. Mere information om konfigurering kan læses på NAP Ref.Impl. - Installationsvejledning.

Applikationen kan nu nåes internt i docker på netværket nap_net på http://napreffacade:8080 og på nap-ref-facade på http://localhost:8080/nap/reference/web/services/main hvis nap-compose reverse proxy, står foran som nævnt ovenfor. Der kan attaches en Jvm debugger på localhost:8878 med `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8788`

Jenkins bygger og deployer i snapshot versioner af NSPs wildfly container. Dette byg kan testes ved at køre at `docker-compose up` i compose/test. 

...

compose/release konfigurationen bruges udelukkende i produktions øjemed.

Debugging

Der kan attaches en Jvm debugger på localhost:8878 med `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8788`

Byg

For at bygge projektet kan køres `mvn compile`.

...