Version | Dato | Ansvarlig | Beskrivelse |
1 | 6.7.2018 | KSR | Opdateret på baggrund af fuldmagtsservice |
2 | 14.9.2018 | KSR | Opdateret beskrivelse mht. kørsel af tests med coverage-måling. Tilføjet mulighed for kørsel af integrationstests uden unittests. |
3 | 13.12.2018 | KSR | Beskrivelse af release |
4 | 4.5.2021 | KIT | Beskrivelse af udstedelse af OCES3 certifikater |
Dette dokument indeholder beskrivelse af diverse udviklings aspekter af STS version 2.4.1.
STS kodebasen er et Maven 3 projekt, med en rod POM yderst og en række undermoduler, hvor sts-server er det modul som producerer et deployerbart WAR-arkiv.
Maven projektet kan umiddelbart åbnes med nyere versioner af IntelliJ IDEA. For Eclipse anvendere udføres følgende kommando for at få genereret projekter, der kan importeres i Eclipse:
mvn eclipse:eclipse -DdownloadJavadocs -DdownloadSources |
---|
Byg af STS understøttes af de normale Maven goals, dvs. for at bygge et STS WAR-arkive udføres
mvn package |
---|
Unit tests køres som del af bygget, eller med:
mvn test |
---|
Det er muligt at eksekvere integrationstest mod en allerede deployet sts med kommandoen
mvn -Pintegration verify -Dsts.url=http://test1-cnsp.ekstern-test.nspop.dk:8080 |
---|
Med tilføjelse af parameteren -Dunittests.skip=true er det endda muligt at springe unittests over og nøjes med integrationstests. Dette kan specielt være bekvemt i forbindelse med deployment verifikation hos Netic.
Eksempel:
mvn -Pintegration verify -Dsts.url=http://test1-cnsp.ekstern-test.nspop.dk:8080 -Dunittests.skip=true |
---|
Fuldmagtsservicen hos nemlogin kan være lidt ustabil i test. Det er derfor nu muligt aktivt at slå disse fra og kun afvikle de øvrige tests.
Eksempel:
mvn -Pintegration verify -Dsts.url=http://test1-cnsp.ekstern-test.nspop.dk:8080 -Dprocurationtests.skip=true |
---|
En kørende udviklingsserver kan sættes op via docker med nedenstående kommando. Der er 3 forskellige foldere med compose filer. Development der er beregnet til brug under udvikling, test der er beregnet til standalone test og endelig release der er beregner til brug af Netic. Integrationstest kan afvikles som beskrevet tidligere.
mvn package cd docker-compose up |
---|
Code coverage kan undersøges med brug af open-clover med følgende maven-kommando:
mvn clean clover:setup test clover:aggregate clover:clover |
---|
Testene anvender certifikater, der stammer fra Seal-afhængigheden. Disse certifikater har udløbsdatoer og derfor skal man være opmærksom på at tests for et givet, historisk release af STS’en kan fejle.
Om nødvendigt kan testene disables. Dette frarådes dog stærkt ved nye releases.
I forbindelse med releases af STS opdateres filen changes.txt med en kort beskrivelse af det rettede.
Selve releaset foretages med mavens release plugin
mvn relcerease:prepare |
---|
som sørger for at lave subversion tags, samt relevante opdateringer af pom-filer.