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.

  • No labels