Nexus nutzt API für den Betrieb

Nexus nutzt API für den Betrieb

Nexus bietet RestApi, aber einige APIs müssen noch mit Groovy kombiniert werden, um zu funktionieren. Es wurde in Version 3.3 und höher verbessert, verfügt aber im Vergleich zu gewöhnlichem RestApi immer noch über einige „Nutzungsfunktionen“. In diesem Artikel wird die Erstellung eines Rohrepositorys als Beispiel verwendet, um die relevanten Verwendungsmethoden zu bestätigen.

Voraussetzungen

Bereiten Sie ein funktionierendes Nexus vor, hier ist Version 3.2.1

API-Mechanismus

Dieser Artikel stellt die Designideen der API vor, als Nexus 3 zum ersten Mal auf den Markt kam. Es verwendet hauptsächlich Groovy-Skripte, um zugehörige Funktionen auszuführen. Kurz gesagt, Benutzer müssen Groovy-Skripte selbst bereitstellen, und Nexus bietet eine Schnittstelle zum Hochladen und Ausführen von Skripten. Obwohl es etwas grob ist, bleiben die meisten Funktionen den Benutzern überlassen. Welche Art von Funktionen in dem leistungsstarken Groovy-Skript implementiert werden müssen, hängt von den eigenen Anforderungen des Benutzers ab. Bis zu einem gewissen Grad ist es eine API, die APIs erstellen kann

Anwendung

Schritt 1: Erstellen Sie ein ausführbares Groovy-Skript mit der JSON-Datei als Träger

Das Format ist ungefähr wie folgt:

{
 "name": "Skriptname",
 "Typ": "groovy",
 "Inhalt": "groovige Aussage"
}

Notiz:

  • Beachten Sie die Verwendung von doppelten und einfachen Anführungszeichen
  • Der Name des Skripts wird Teil der nachfolgenden API. Achten Sie daher bitte auf die Benennung.

Schritt 2: Laden Sie die JSON-Datei hoch

Verwenden Sie die folgende Methode und Schnittstelle, um die entsprechende JSON-Datei mit Groovy-Operationen hochzuladen

  • Schnittstelle: /service/siesta/rest/v1/script
  • Methode: POST
  • Datei: Übergeben Sie die in Schritt 1 vorbereitete Datei als Inhalt von POST

Schritt 3: Führen Sie die Groovy-Datei aus

Verwenden Sie die folgende Schnittstelle, um das in Schritt 2 hochgeladene Groovy-Skript auszuführen:

  • Schnittstelle: /service/siesta/rest/v1/script/script name/run
  • Methode: POST

Es ist wichtig zu beachten, dass der Skriptname auch Teil der Ausführungsschnittstelle ist, daher ist die Benennung sehr wichtig.

Anwendungsbeispiele

Die obige Methode wird hier verwendet, um zu demonstrieren, wie ein Raw-Typ-Repository in Nexus erstellt wird.

Schritt 1: Erstellen Sie ein ausführbares Groovy-Skript mit der JSON-Datei als Träger

Da Sie beim Erstellen eines Repositorys einen Blob angeben müssen, wird der Standardwert verwendet, wenn Sie ihn nicht angeben. Wenn es jedoch viele Projekte gibt, ist der Standardwert sehr groß. In der vorherigen Einführung in die Verwendung von Nexus wurde auch angegeben, dass Sie für verschiedene Repositorys einen eigenen Blob erstellen können. Erstellen Sie daher hier die folgende JSON-Datei:

liumiaocn:~ liumiao$ cat rawrepotest1.json 
{
 "Name": "rawrepotest1",
 "Typ": "groovy",
 „Inhalt“: „def rawStore = blobStore.createFileBlobStore(‚rawrepotest1‘, ‚raw‘); repository.createRawHosted(‚rawrepotest1‘, rawStore.name);“
}
liumiaocn:~ liumiao$

Vorschlag: Da diese Art der Verwendung von Nexus keine sehr umfassende Methode ist, wird empfohlen, sie auf dieselbe Weise wie rawrepotest1 zu verwenden, damit die Beziehung zwischen Blob und Repository klarer wird. Es handelt sich dabei lediglich um das Hochladen einiger weiterer JSON-Dateien mit vernachlässigbarer Größe.

Schritt 2: Laden Sie die JSON-Datei hoch

liumiaocn:~ liumiao$ curl -X POST -u admin:admin123 --header "Inhaltstyp: application/json" http://localhost:32004/service/siesta/rest/v1/script -d @rawrepotest1.json
liumiaocn:~ liumiao$

Schritt 3: Führen Sie die Groovy-Datei aus

liumiaocn:~ liumiao$ curl -X POST -u admin:admin123 --header "Inhaltstyp: text/plain" http://localhost:32004/service/siesta/rest/v1/script/rawrepotest1/run
{
 "Name": "rawrepotest1",
 "Ergebnis" : "RepositoryImpl$$EnhancerByGuice$$13e8178d{type=hosted, format=raw, name='rawrepotest1'}"
}liumiaocn:~ liumiao$

Ergebnisbestätigung

Blob-Bestätigung

Der entsprechende Blob wurde generiert: rawrepotest1

Repository-Bestätigung

Das entsprechende Roh-Repository wurde generiert: rawrepotest1

Zusammenfassung

Durch die Kombination von Nexus mit Groovy kann eine API-Integration erreicht werden, aber diese Methode weist bei der Verwendung noch viele Invarianten auf. Ob bei mehrfacher Ausführung Fehler auftreten, muss das Groovy-Skript bestätigen. Ob die relevanten Funktionen verbessert werden, hängt möglicherweise von der Unterstützung nachfolgender Versionen von Nexus ab. Ob die Kombination mit Groovy während der funktionalen Übergangsphase die entsprechende Methode sein wird, muss noch weiter beobachtet werden.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der allgemeinen Befehlskonfiguration von Idea Maven Nexus
  • So veröffentlichen Sie ein Maven-Projekt (JAR-Paket) auf einem privaten Nexus-Server
  • Ausführliches Maven-Tutorial zum Verpacken und Hochladen des Projekts auf den privaten Nexus-Server
  • Detaillierte Erläuterung des Beispielcodes für die Projektverpackung von Springboot ~ Nexus
  • So verwenden Sie Nexus zum Erstellen eines privaten Maven-Servers
  • Erste Schritte mit Maven: Verwenden von Nexus zum Erstellen eines privaten Maven-Servers und zum Hoch- und Herunterladen von JAR-Paketen
  • So verwenden Sie Nexus zum Erstellen eines privaten Maven-Servers und einer Idee in einem lokalen Netzwerk
  • Detaillierte Schritte zum Einrichten eines Nexus-Servers
  • Grafisches Tutorial zur Installation und Konfiguration von Nexus

<<:  Centos6.9-Installation Mysql5.7.18 Schrittaufzeichnung

>>:  Implementierung der Codeoptimierung zur Leistungsoptimierung von Vue2.x-Projekten

Artikel empfehlen

Detaillierte Erläuterung der sechs gängigen Einschränkungstypen in MySQL

Inhaltsverzeichnis Vorwort 1.nichtnull 2. einziga...

So implementieren Sie die Formularvalidierung in Vue

1. Installation und Nutzung Installieren Sie es z...

So stellen Sie einen Redis 6.x-Cluster über Docker bereit

Systemumgebung: Redis-Version: 6.0.8 Docker-Versi...

Analysieren von AB-Leistungstestergebnissen unter Apache

Ich habe immer Loadrunner für Leistungstests verw...

Verstehen Sie die anfängliche Verwendung von Redux in React in einem Artikel

Redux ist ein Plug-In zur Datenstatusverwaltung. ...

Docker startet den Implementierungsprozess der MySQL-Konfiguration

Inhaltsverzeichnis Tatsächlicher Kampfprozess Beg...

Beispiele für die Verwendung von React Ref

Inhaltsverzeichnis Was ist ref So verwenden Sie r...