Page History
...
Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af NAP platform services, skal sættes op, kodens struktur, samt hvordan koden bygges, deployes og testes.
Forudsætninger
Krav til software:
Software | Version |
---|---|
Java | 8 |
Docker | Gerne nyeste |
node | 10+ |
Generelt om udviklingsmiljø for projekterne
Det lokale udviklingsmiljø på projekter 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".
I hvert projekt ligger der en compose mappe, hvori der findes forskellige compose filer til udvikling, test og release.
Udvikling
Vær opmærksom på kun at køre en service af samme navn, fx kun køre en nap-test-web. Hvis der skiftes setup, stop altid servicen og kør "docker-compose down".
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/ som også er på Docker netværket nap_net og eksponeret på port 8080 på localhost.
Ved hhv nap-admin-web, nap-lobby-web og nap-test-web, bliver ./src folderen og konfigurationsfiler fra compose/configuration "volume-mappet", hvilket betyder, at ændringer i kildekoden bliver komplieret 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.
Test
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.
Apllikationen kan nåes på samme url som ovenfor.
Release
Bruges udelukkende i produktions øjemed
nap-admin-web
Indeholder et angular projekt, der har til formål at vise og håndtere alle tilgængelig projekter. Projektet bruger standard strukturen for et Angular projekt, dvs. alt koden ligger inde i src/ mappen.
...
nap-administration
nap-administration
Funktionalitet
dasdss
Udviklingsmiljø
Installer afhængigheder
Installer dependencies ved at "mvn install".
Udviklingserver
For at starte en wildfly server til udvikling køres "docker-compose build && docker-compose up" fra compose/develop mappen.
Applikationen kan nu nåes http://napadmin:8080/, hvis nap-compose reverse proxy er opsat som beskerevet tidligere.
CI
Jenkins filen beskriver jenkins pipelinen.
Der kan laves snapshots og release-candidates fra jenkins.
Test
JUnit anvendes til implementering af unit tests. Der er kontinuert gennemført unit tests på alle komponenter i projektet.
Unit tests kan afvikles ved at køre: `mvn test` og Coverage rapport generes med maven-surefire og publiceres med jacoco.
Dokumentation
For at generere dokumentation til koden, kør "npm run doc". Dokumentation ligger i docs/ mappen.
Debugger
Der kan attaches en JVM debugger på localhost:8878 med `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8788`
...