To forskellige former. Er det folk der skal bruge produktet eller integrere op mod en service
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.
Det lokale udviklingsmiljø er opsat med docker-compose. 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`.
Der udstilles ingen porte på docker-hosten, og alt trafik routes således igennem en lokal reverse proxy https://svn.nspop.dk/svn/components/nap/nap-compose/ på localhost:8080, som skal køres parallelt på samme netværk.
Installer dependencies med `npm i` i rodfolderen.
Under compose/-folderen findes forskellige compose-filer til udvikling, test og release.
Vær opmærksom på kun at køre en service ved navn naprefweb. Stop derfor altid servicen og kør `docker-compose down`, når når der skal skiftes setup.
For at starte en webpack dev server i docker køres `docker-compose build && docker-compose up` fra compose/develop.
Hvis dependencies ændres skal containeren bygges igen, ellers er det fremover nok bare at køre `docker-compose up`.
Dette compose/develop setup volume mapper ./src folderen, hvilket betyder ændringer i kildekoden bliver compilet og deployet med det samme - hot reload.
Applikationen kan nu nåes internt i docker på netværket nap_net på http://naprefweb:8080 (såfremt yderlige porte ikke eksponeres) og på http://localhost:8080/nap/reference/web/.
Jenkins bygget kan testes ved at køre at `docker-compose up` i compose/test.
Applikationen kan nu nåes internt i docker på netværket nap_net på http://naprefweb:8080 (såfremt yderlige porte ikke eksponeres) og på http://localhost:8080/nap/reference/web/.
compose/release bruges til release
For at køre unit-tests med Karma kør `npm run test`. Istanbul generer en coverage rapport kommer i /coverage.