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

Allgemeine Textverarbeitungsbefehle unter Linux und Vim-Texteditor

Lassen Sie uns heute einige gängige Textverarbeit...

Detailliertes Tutorial zur Installation und Konfiguration von Nginx unter Centos7

Hinweis: Der grundlegende Verzeichnispfad für die...

CSS-Schreibstandards und -Reihenfolge teilen [für alle empfohlen]

CSS-Schreibreihenfolge 1. Positionsattribute (Pos...

MySQL-Optimierung: So schreiben Sie hochwertige SQL-Anweisungen

Vorwort Im Internet gibt es zahlreiche Informatio...

So implementieren Sie Reaktionsfähigkeit beim Lernen des Vue-Quellcodes

Inhaltsverzeichnis Vorwort 1. Schlüsselelemente e...

Optimieren Sie MySQL mit 3 einfachen Tricks

Ich erwarte nicht, ein erfahrener Datenbankadmini...

Was sind die Vorteile von MySQL MGR?

MGR (MySQL Group Replication) ist eine neue Funkt...

Mit CSS3 implementierte Schaltfläche zum Hovern von Bildern

Ergebnis:Implementierungscode html <ul Klasse=...

Detaillierte Erklärung, wie Node.js mit ES6-Modulen umgeht

Inhaltsverzeichnis 1. Unterschiede zwischen den b...

So stellen Sie verschiedene Mausformen dar

<a href = "http: //" style = "c...