...
För att utveckla och underhålla SKLTP samt köra automatiska enhetstester och integrationstester i utvecklingsmiljön krävs:
- Java SE 7 och 8(OpenJDK) 8 och 11
- Maven 3
- Git klient
- MySQL Community Server och GUI för den Workbench
...
Också det finns bra fristående Git-client Sourcetree
För att exekvera systemtester används:
- SoapUI för funktionella tester
- Klientcertifikat
- Gatling för lasttester och robusthetstester
För mer information om hur Gatling används se /wiki/spaces/SKLTP/pages/3187836104
Utöver detta behövs rättigheter till följande:
- Github push rättigheter
- Rättigheter till Ineras Jenkins server.
- Rättigheter till Ineras Nexus
- JIRA och Confluence wiki
- Tillgång till fysiska testmiljöer
Git för utvecklare
/wiki/spaces/SKLTP/pages/3187835204
Maven repo
Flera SKLTP-komponenter använder egenutvecklade bibliotek. Dessa finns publicerade i Ineras Nexus. Lägg till nedanstående i Maven settings för att använda dess maven-repo som mirror.
Kodblock |
---|
<mirrors>
<mirror>
<id>Basefarm Nexus</id>
<name>Basefarm Nexus Public Mirror</name>
<url>https://nexus.drift.inera.se/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors> |
License headers
Maven bygget kontrollerar att det finns licensheadrar i källkodsfilerna (till exempel, när man kör: mvn clean install) genom att använda com.mycila.maven-license-plugin:maven-license-plugin.
...
/wiki/spaces/SKLTP/pages/3187836104
Release Management
För Maven används för att skapa releaser används Maven och Mavens release-plugin. Kontrollera att följande kod finns i rot-pom'en.
...
.
...
För att Mavens deploy plugin ska veta var den ska deploya releaserna skall följande finnas i projektets root pom (eller i parent till root pom). Url:erna kan man sedan sätta i den lokala (eller Jenkins) Maven settings filen (se kommande exempel)
Info |
---|
<distributionManagement> |
Maven settings fil (~/.m2/settings.xml) bör sedan sättas upp enligt nedan för att peka ut var dependencies skall hämtas (via mirror) och vart den skall deploya filerna (Till Ineras Nexus i exemplet nedan) samt användaruppgifter till Ineras Nexus (i sektionen "servers").
...
<mirrors>
<!-- Mirror används för att hämta dependencies via Inera Nexus -->
<mirror>
<id>Inera Nexus</id>
<name>Inera Nexus Public Mirror</name>
<url>https://nexus.inera.se/repository/maven-public/</url>
<mirrorOf>*,!grails</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>skltp</id>
<properties>
<!-- Ställer om URL för snapshots och release i distributionManagement i pom.xml, pom.xml måste använda dessa för att det ska fungera -->
<releases-nexus-url>https://nexus.inera.se/repository/SKLTP-Releases/</releases-nexus-url>
<snapshot-nexus-url>https://nexus.inera.se/repository/SKLTP-Snapshots/</snapshot-nexus-url>
</properties>
</profile>
</profiles>
<servers>
<!-- Release Repot på Inera Nexus, exakt repo pekas ut av profilen -->
<server>
<id>release-nexus</id>
<username>xxxxxxxxx</username>
<password>pppppppppp</password>
</server>
<!-- Snapshot Repot på Inera Nexus, exakt repo pekas ut av profilen -->
<server>
<id>snapshot-nexus</id>
<username>xxxxxxxxx</username>
<password>pppppppppp</password>
</server>
</servers>
Normalt bör en release skapas via ett releasejobb i Ineras Jenkins server men går att skapa lokalt genom:
Kodblock |
---|
mvn release:prepare
mvn release:perform |
eller genom att manuellt uppdatera versioner, skapa taggar, pusha till github och köra:
Kodblock |
---|
mvn deploy |
Artifakterna kommer nu laddas upp på Ineras Nexus och vara publikt tillgängliga under group-id se.skltp
, Följ denna länk för vidare instruktioner.
Paketnamn
SKLTP komponenter
...