So erstellen Sie Ihren eigenen privaten Nexus-Server unter Linux

So erstellen Sie Ihren eigenen privaten Nexus-Server unter Linux

b. Typ

Dieser Artikel beschreibt, wie man über Docker einen privaten Nexus-Server auf einem Linux-Server erstellt.

1. Installieren Sie Nexus

1. Erstellen Sie einen Speicherort für Daten

# Geben Sie ein Verzeichnis ein. Sie können einfach cd /srv verwenden.
# Erstellen Sie einen Ordner mkdir nexus-data
# Berechtigungen erteilen, sonst wird beim Start ein Fehler gemeldet. Keine Betriebsberechtigungen chmod 777 nexus-data

2. Starten

Führen Sie den folgenden Befehl aus, das Image wird automatisch gezogen und gestartet

docker run -d -p 8081:8081 --name nexus -v /srv/nexus-data:/nexus-data --restart=immer sonatype/nexus3

Überprüfen Sie das Startprotokoll mit docker logs -f nexus . Wenn Started Sonatype Nexus OSS angezeigt wird, bedeutet dies, dass der Start erfolgreich war. Sie können darauf über http://ip:8081 zugreifen.


Klicken Sie oben rechts auf „Anmelden“, um sich anzumelden. Das Konto ist admin und das Passwort muss im Bild überprüft werden.

# Geben Sie das Bild ein docker exec -it nexus bash
# Überprüfen Sie das Passwort. Der Pfad wird im Anmeldefeld abgefragt, dann kopieren Sie ihn. Nach erfolgreicher Anmeldung werden Sie aufgefordert, das Passwort zu ändern cat /nexus-data/admin-password

An diesem Punkt ist der Start abgeschlossen. Klicken Sie nach dem Aufrufen der Homepage in der linken Menüleiste Browse , um Ihr Lager anzuzeigen.

2. Nexus-Lager

1. Lagertyp

Nexus hat vier Lager und vier Lagertypen

ein. Lager

Lagername beschreiben
Maven-Zentrale Maven Central Repository zieht standardmäßig Jars von https://repo1.maven.org/maven2/
Maven-Veröffentlichungen Verteilungsglas für private Bibliotheken
Maven-Schnappschüsse Privater Bibliotheks-Snapshot (Debug-Version) JAR
Maven-Öffentlich Lagergruppierung: Kombinieren Sie die oben genannten drei Lager, um externe Dienste bereitzustellen, und verwenden Sie sie in den lokalen Maven-Grundkonfigurationseinstellungen.xml
Typ beschreiben
Gruppe (Lagergruppentyp) Ein Repository für Entwickler zum Einrichten
gehostet (Hosttyp) Release Warehouse für interne Projekte (Lager für interne Entwickler zur Freigabe und Speicherung)
Proxy (Proxy-Typ) Suchen Sie das Datenlager aus dem Remote-Zentrallager (Sie können auf die Konfigurationsseite des entsprechenden Lagers klicken und den Wert der Eigenschaft „Remote-Speicherort“ überprüfen. Dabei handelt es sich um den Pfad des Remote-Lagers, über den ein Proxy bereitgestellt wird).
virtuell (virtueller Typ) Virtuelles Lager (dies wird grundsätzlich nicht verwendet, konzentrieren Sie sich auf die Verwendung der oben genannten drei Lager)

2. Vorgang zum Abrufen eines JAR-Pakets

Maven kann Komponenten direkt vom Host-Repository oder vom Proxy-Repository herunterladen, während das Proxy-Repository Komponenten indirekt vom Remote-Repository herunterlädt und zwischenspeichert. Der Einfachheit halber kann Maven Komponenten aus der Repository-Gruppe herunterladen, die keinen tatsächlichen Inhalt hat (in der Abbildung unten durch die gepunktete Linie gekennzeichnet, wird auf das enthaltene Host-Repository oder Proxy-Repository zurückgegriffen, um den tatsächlichen Komponenteninhalt abzurufen).

3. Erstellen Sie ein Lager

Nach der obigen Erklärung haben wir das Lager bereits verstanden. Als Nächstes erstellen wir ein Lager, das in代理倉庫(proxy) ,宿主倉庫(hosted) und倉庫組(group) unterteilt ist. Klicken Sie auf der Homepage auf die kleine Schraube und wählen Sie Repositories aus, um die Lagerverwaltungsliste aufzurufen. Dann können Sie mit der Erstellung unseres Lagers beginnen. Wählen Sie bei der Auswahl des Lagertyps unbedingt maven2 aus

a. Proxy-Lager

Wir nutzen das Zentrallager von Alibaba

b. Gehostetes Repository

Hier können Sie releases und snapshot -Repositories erstellen. Hier zeigen wir eines

c. Lagergruppe gruppieren

3. Projektkonfiguration

Nach den ersten beiden Kapiteln haben wir Nexus auf dem Linux-Server bereitgestellt und unser Warehouse erstellt. Als Nächstes versuchen wir, es im Projekt zu konfigurieren.

1. Erstellen Sie ein Maven-Projekt

Zu Demonstrationszwecken erstellen wir einfach eine Werkzeugklasse. Das Folgende ist die Verzeichnisstruktur

2. POM-Datei

Zu Demonstrationszwecken habe ich ein release -Repository konfiguriert. Tatsächlich sollten Sie auch ein snapshot -Repository konfigurieren. Maven ermittelt, ob auf die Version -SNAPSHOT folgt. Wenn ja, wird sie im Snapshot-Repository veröffentlicht. Andernfalls wird sie im Release-Repository veröffentlicht.

<?xml version="1.0" encoding="UTF-8"?>
<Projekt xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.gjing</groupId>
 <artifactId>Demo</artifactId>
 <version>1.0</version>
 <name>Demo</name>
 <description>Demoprojekt für Spring Boot</description>

 <Eigenschaften>
  <java.version>1.8</java.version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </Eigenschaften>

 <Verteilungsmanagement>
  <Repository>
   <!--ID kann nach Belieben geschrieben werden, muss aber mit der Maven-Einstellungsdatei übereinstimmen-->
   <id>Veröffentlichungen</id>
   <!--Zeigt auf ein Warehouse mit dem Speichertyp „Release“ und dem Warehousetyp „Gehostet (Host-Warehouse)“---->
   <url>http://Ihr Nexus-Repository IP:8081/repository/me-release/</url>
  </Repository>
 </distributionManagement>

 <Bauen>
  <Plugins>
   <Plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>Maven-Compiler-Plugin</artifactId>
    <version>3.8.1</version>
    <Konfiguration>
     <Quelle>1.8</Quelle>
     <target>1,8</target>
    </Konfiguration>
   </plugin>
   <Plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>Maven-Bereitstellungs-Plugin</artifactId>
    <version>2.8.2</version>
   </plugin>
  </plugins>
 </bauen>
</Projekt>

3. Maven-Konfigurationseinstellungsdatei

Die ID muss mit der Projekt-POM-Datei一致

 <Server>
 <Server>
  <id>releases</id><!--Entspricht den Einstellungen in der Projekt-POM-Datei-->
  <Benutzername>admin</Benutzername>
  <Passwort>admin123</Passwort>
 </server>
 </server>

4. Freigabe

Wenn Sie das IDEA-Entwicklungstool verwenden, können Sie im Maven-Tool in der rechten Symbolleiste direkt auf „Bereitstellen“ klicken oder das Stammverzeichnis des Projekts direkt in die Befehlszeile eingeben und mvn deploy ausführen.


Zu diesem Zeitpunkt wird unser JAR-Paket auch auf dem privaten Nexus-Server erscheinen


Dies ist eine erfolgreiche Veröffentlichung

5. Nutzung

Es gibt zwei Möglichkeiten, Maven-Projekten die Nutzung von Nexus als Remote-Repository zu ermöglichen. Die erste besteht darin, Änderungen an der pom.xml des Projekts vorzunehmen, damit ein einzelnes Projekt das Nexus-Repository verwenden kann. Die andere besteht darin, Änderungen vorzunehmen, indem die Konfigurationsdatei settings.xml von Maven geändert wird, damit alle Projekte das Nexus-Repository verwenden können. Wir übernehmen hier die zweite Methode, die nur setting.xml erfordert. Außerdem muss die private Server-Warehouse-Adresse zum Abrufen von Jars nur in unsere Warehouse-Gruppe geschrieben werden, da diese Gruppe beim Erstellen bereits die anderen drei Warehouses enthielt.

1. Datei settings.xml

Suchen Sie in der Maven-Einstellungsdatei mirrors , fügen Sie mirror unseres Gruppenlagers hinzu, geben Sie die Gruppenadresse ein, die wir in der URL erstellt haben. ID und Name können nach Belieben eingegeben werden und mirrorOf kann mit dem identisch sein, was ich geschrieben habe

 <Spiegel>
 <Spiegel>
  <id>mynexus</id>
  <name>mein eigenes Nexus-Repository</name>
  <url>http://xxx:8081/repository/meine-gruppe/</url>
  <mirrorOf>zentral</mirrorOf>
 </Spiegel>
 </Spiegel>

2. Überprüfung

Sie müssen die POM-Datei nur in andere Projekte importieren. Wenn der Import erfolgreich war, kann die soeben definierte Tool-Klasse normal im Projekt verwendet werden.

Der gesamte Vorgang endet hier. Wenn Sie Fragen haben, teilen Sie sie mir bitte im Kommentarbereich mit!!!

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Analyse des Prozesses zur Konfiguration des Alibaba Cloud-Proxy-Warehouses basierend auf Nexus
  • So erstellen Sie ein Docker-Repository mit Nexus
  • So laden Sie das JAR-Paket über die Webseite auf Nexus hoch
  • So verwenden Sie Nexus zum Erstellen eines privaten Maven-Servers und einer Idee in einem lokalen Netzwerk
  • Detaillierte Schritte zum Einrichten eines Nexus-Servers
  • Detaillierte Einführung in die Installationsschritte für CentOS7 Nexus
  • Maven Nexus-Installation, Probleme und Lösungen für den privaten Nexus-Server
  • Aufbauprinzip des Nexus-Privatservers und Tutorial-Analyse

<<:  Detaillierte Erklärung der berechneten Eigenschaften, der Überwachungseigenschaften und des Lebenszyklus in Vue.js

>>:  MySQLs konzeptionelles Verständnis verschiedener Sperren

Artikel empfehlen

Besprechen Sie den Entwicklungstrend der Baidu Encyclopedia UI

<br />Die offizielle Version der Baidu-Enzyk...

Lernen Sie die Vue-Middleware-Pipeline in einem Artikel kennen

Beim Erstellen eines SPA müssen Sie häufig bestim...

JavaScript-Datenvisualisierung: ECharts-Kartenerstellung

Inhaltsverzeichnis Überblick Vorsichtsmaßnahmen 1...

Zusammenfassung der drei Lazy-Load-Methoden lazyLoad mit nativem JS

Inhaltsverzeichnis Vorwort Methode 1: Hoher Kontr...

js zur Realisierung eines einfachen Werbefensters

In diesem Artikel wird der spezifische Code von j...

vue2.x-Konfiguration von vue.config.js zur Projektoptimierung

Inhaltsverzeichnis Vorwort vue.config.js-Konfigur...

So lösen Sie das Zeichensatzproblem bei der Anmeldung bei Linux

Zeichensatzfehler treten immer auf Gebietsschema:...

Mehrere Möglichkeiten zur Implementierung der Vererbung in JavaScript

Inhaltsverzeichnis Strukturelle Vererbung (implem...

JavaScript implementiert Informationen zur Kennwortfeldüberprüfung

In diesem Artikelbeispiel wird der spezifische Ja...

So autorisieren Sie Remoteverbindungen in MySQL unter Linux

Hinweis: Andere Maschinen (IP) können ohne Autori...