Retningslinier for brug af NSP Nexus
Nærværende note beskriver opsætningen af NSP Nexus og hvorledes NSP Nexus bør anvendes af leverandører til NSP.
Der er oprettet 3 repositories:
- Releases: hertil har kun NSP leverandøren skriverettighed, hvor denne bl.a. leverer NSP-util og Seal.java. Desuden leveres sanktionerede artefakter fra staging repository hertil. Alle har læserettighed til dette repository.
- Snapshots: hertil har alle læse- og skriverettighed. Dette repository kan bruges til udveksling af artefakter mellem leverandører.
- 3. party: hertil har alle læse- og skriverettighed. Tanken med dette repository er at kunne placere artefakter, som er en afhængighed for en leverance, men ikke kan findes andre steder. Dette repository er immutable og placerede artefakter er derfor uændrede over tid.
- Staging: hertil har alle læse- og skriverettighed. Tanken med dette repository er som en inhalator for artefakter udgivet af leverandører der skal sanktioneres til brug på NSP. NSP leverandøren har ansvar for sanktionering og overførsel af artefakter til release repository.
Endvidere er NSP Nexus konfigureret til at være proxy for resten af verden og det bør derfor være muligt for leverandører at begrænse sig til udelukkende, at anvende NSP Nexus.
Akkreditiver til NSP Nexus
Mangles dette fås det ved henvendelse til driftsleverandøren på nsp-support@netic.dk. Dette akkreditiv skal anvendes til både kommando linie deploy og web-adgang.
Anvendelse af repository
For at anvende artefakter fra NSP repository skal følgende repository tilføjes den relevante pom.xml-fil i et projekt:
<repositories>
...
...
<repository>
<id>nsp-nexus</id>
<name>NSP repository</name>
<url>https://nexus.nspop.dk/nexus/content/groups/public/</url>
</repository>
</repositories>
Der bør være defineret en konfiguration for en server i settings.xml-filen svarende til et repository med samme 'id', som defineret i pom.xml-filen.
Deploy til repository
Kan foregå via kommandolinie med standard Maven goals eller via en web-browser.
Kommandolinie deploy
Til denne måde kræves akkreditiver samt en server-definition i den relevante settings.xml, hvor akkreditiverne skal angives, eksempelvis:
<settings>
...
...
<servers>
<server>
<id>nsp-nexus</id>
<username>nsp-vendor-name</username>
<password>nsp-vendor-password</password>
</server>
</servers>
</settings>
Endvidere kræves det, at der er defineret distribution management i den relevante pom.xml-fil, eksempelvis:
<distributionManagement>
...
...
<repository>
<uniqueVersion>false</uniqueVersion>
<id>nsp-nexus</id>
<name>NSP staging repository</name>
<url>https://nexus.nspop.dk/nexus/content/repositories/staging</url>
<layout>default>
</repository>
<snapshotRepository>
<uniqueVersion>false</uniqueVersion>
<id>nsp-nexus</id>
<name>NSP snapshot repository</name>
<url>https://nexus.nspop.dk/nexus/content/repositories/snapshots/</url>
<layout>default</layout>
</snapshotRepository>
</distributionManagement>
Browser deploy
Foregår via en web-baseret grænseflade på adressen: https://nexus.nspop.dk
En vejledning i upload af artefakter findes her: http://www.sonatype.com/books/nexus-book/reference/using-sect-uploading.html
Her benyttes også tildelte akkreditiver.