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 Klicken Sie oben rechts auf „Anmelden“, um sich anzumelden. Das Konto ist # 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 2. Nexus-Lager 1. Lagertyp Nexus hat vier Lager und vier Lagertypen ein. Lager
|
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.
>>: MySQLs konzeptionelles Verständnis verschiedener Sperren
<br />Die offizielle Version der Baidu-Enzyk...
Zählskript #!/bin/sh AnzahlArgs=$# wenn [ $numOfA...
1. Einleitung Die Anforderung besteht darin, die ...
Beim Erstellen eines SPA müssen Sie häufig bestim...
Inhaltsverzeichnis Überblick Vorsichtsmaßnahmen 1...
Inhaltsverzeichnis Vorwort Methode 1: Hoher Kontr...
In diesem Artikel wird der spezifische Code von j...
1. Laden Sie mysql-5.7.21-windowx64.zip von der o...
Inhaltsverzeichnis Vorwort vue.config.js-Konfigur...
Abfrage-Cache 1. Funktionsprinzip des Abfrage-Cac...
Als ich das erste Mal anfing, fand ich viele Fehl...
Zeichensatzfehler treten immer auf Gebietsschema:...
Inhaltsverzeichnis Strukturelle Vererbung (implem...
In diesem Artikelbeispiel wird der spezifische Ja...
Hinweis: Andere Maschinen (IP) können ohne Autori...