ZPM - Paketmanager für InterSystems IRIS

Paketmanager für verschiedene Plattformen sind sehr verbreitet. Sie ermöglichen die schnelle Installation und Konfiguration vieler vorgefertigter Komponenten und Bibliotheken. Und auch verwendet, um ihre eigenen Lösungen bereitzustellen. Es ist wichtig, dass der Paketmanager Abhängigkeiten behandelt, d. H. Wenn Ihre Anwendung eine Bibliothek einer bestimmten Version verwendet, installiert der Paketmanager bei der Installation Ihrer Anwendung auch die erforderliche Version dieser Bibliothek.

Für InterSystems IRIS ist jetzt auch ein Paketmanager, ZPM, verfügbar.

Mit ZPM können Sie ein Modul suchen, installieren und aktualisieren sowie Module veröffentlichen. Jedes Modul kann eine separate Anwendung, Bibliothek, ein Framework, ein Dienstprogramm oder ein Beispiel für die Verwendung von InterSystems-Technologien sein.

ZPM Package Manager


ZPM besteht aus zwei Komponenten:

  • Client (CLI) Ein
    Dienstprogramm, das in Ihrem IRIS installiert wird und zum Verwalten von Modulen verwendet wird (z. B. zur Installation).
  • Registrierung
    Eine Datenbank mit Modulen und Metainformationen zur Verwaltung von Modulen.

Standardmäßig ist der ZPM-Client für die Verwendung der Registrierung konfiguriert: pm.community.intersystems.com ist die Registrierung der Entwicklergemeinschaft. Diese Registrierung hat viele Beispiele, Dienstprogramme und Bibliotheken veröffentlicht.

Sie können auch Ihre eigene Registrierung abrufen und verwenden (mehr dazu später in diesem Artikel).

Wo soll ich anfangen?


1. Installieren Sie den ZPM-Client


Laden Sie das neueste Installationsprogramm von diesem Link herunter .

Importieren Sie die heruntergeladene Klasse in einen für Sie geeigneten Bereich: über das Portal, über das Studio oder über das Terminal.

USER>Do $System.OBJ.Load("/path/zpm.xml", "ck")

Wenn Sie Docker verwenden, können Sie die Bilder InterSystems IRIS Community Edition und InterSystems IRIS for Health Community Edition verwenden, die bereits die neueste Version von ZPM enthalten ( weitere Informationen finden Sie in der Dokumentation ).

2. Starten von ZPM


Nach der Installation ist ZPM in jedem Bereich verfügbar.
Um ZPM zu verwenden, geben Sie einfach den Befehl zpm in das Terminal ein und Sie führen die Befehlszeilenschnittstelle (CLI) des ZPM-Paketmanagers aus.

MYNS> zpm
zpm: MYNS>

Mit dem Befehl help können Sie eine Liste aller verfügbaren Befehle abrufen.

zpm: MYNS>help


3. Installieren Sie das Modul


Sehen Sie sich zunächst mit dem Suchbefehl die Liste der verfügbaren Module in der Registrierung an:

zpm: MYNS>search
 
registry https://pm.community.intersystems.com:
analyzethis 1.1.4
blocksexplorer 2.2.1
dsw 2.1.41

Verwenden Sie den Befehl install, um das neueste Modul oder Update zu installieren. Die Installation wird im aktuellen Bereich durchgeführt.

zpm: MYNS>install dsw
 
[mdx2json] 	Reload START
[mdx2json] 	Reload SUCCESS
[mdx2json] 	Module object refreshed.
[mdx2json] 	Validate START
[mdx2json] 	Validate SUCCESS
[mdx2json] 	Compile START
[mdx2json] 	Compile SUCCESS
[mdx2json] 	Activate START
[mdx2json] 	Configure START
[mdx2json] 	Configure SUCCESS
[mdx2json] 	Activate SUCCESS
[dsw] 	Reload START
[dsw] 	Reload SUCCESS
[dsw] 	Module object refreshed.
[dsw] 	Validate START
[dsw] 	Validate SUCCESS
[dsw] 	Compile START
[dsw] 	Compile SUCCESS
[dsw] 	Activate START
[dsw] 	Configure START
[dsw] 	Configure SUCCESS
[dsw] 	Activate SUCCESS

Wie Sie sehen können, wird zuerst das mdx2json-Modul installiert, von dem das dsw-Modul abhängt, und dann dsw.

Das ist alles - das Modul ist installiert und konfiguriert!

Viele Befehle haben spezielle Flags, zum Beispiel können Sie mit dem Flag -v oder -verbose Details anzeigen, zum Beispiel:

zpm: MYNS>install dsw -v

Überprüfen Sie die vollständige Liste der Befehle auf ihre Argumente und Flags auf der Dokumentationsseite oder verwenden Sie den Hilfebefehl.

Vorbereiten und Veröffentlichen Ihres eigenen Pakets


Damit Sie Ihr eigenes Paket veröffentlichen können, müssen Sie:

  • Lassen Sie Ihren Code in InterSystems IRIS funktionieren.
  • Bereiten Sie die Datei module.xml vor.

Die Datei module.xml beschreibt Ihr Paket, die im Paket enthaltenen Ressourcen, die Abhängigkeiten und Komponenten, die bei der Installation des Pakets erforderlich sind (z. B. beim Erstellen von Webanwendungen).

Wenn Sie zuvor das IRIS-Installationsmanifest von InterSystems (% Installer) verwendet haben , finden Sie in der Datei module.xml und im XDATA-Block viele Gemeinsamkeiten.

Beschreibung des XML-Formats in der Dokumentation

Beispiele für module.xml für veröffentlichte Module finden Sie unter:
github.com/isc-zpm/DeepSeeWeb/blob/master/module.xml
github.com/isc-zpm/Samples-BI/blob/master/ module.xml

Um Ihr Paket in der öffentlichen Registrierung pm.community.intersystems.com zu veröffentlichen, veröffentlichen Sie einfach die Anwendung in Open Exchange und geben Sie das öffentliche Repository an.

Stellen Sie Ihre eigene Registrierung ein


Das Erstellen einer eigenen Registrierung ist optional. Mit dieser Registrierung können Sie jedoch überprüfen, wie Ihr Modul zusammengebaut und installiert ist.

Wenn Sie Ihre Anwendung in der öffentlichen Registrierung pm.community.intersystems.com veröffentlichen möchten, wird empfohlen, zuerst alle Schritte in Ihrer lokalen Registrierung zu überprüfen.

Um Ihre eigene Registrierung zu installieren, können Sie den Befehl install verwenden.
Gehen Sie zum Registrierungsbereich (im Folgenden wird davon ausgegangen, dass er REGISTRY heißt) und führen Sie ihn aus

REGISTRY>zpm
zpm: REGISTRY>install zpm-registry

Überprüfen Sie, ob Ihre Registrierung funktioniert. Öffnen Sie die Seite localhost : 52773 / registry / _ping in Ihrem Browser (abhängig von den Einstellungen Ihres IRIS müssen Sie möglicherweise einen anderen Port angeben). Beim Zugriff auf die Seite müssen Sie die Anmeldung und das Kennwort des IRIS-Benutzers angeben (zum Beispiel: _system / SYS).

Wenn Sie {"message": "ping"} gesehen haben, wurde Ihre Registrierung erfolgreich installiert.

Konfigurieren Sie nun Ihren ZPM-Client für die Arbeit mit der neuen Registrierung.

Führen Sie den folgenden Befehl aus:

zpm: MYNS>repo -r -n registry -url http://localhost:52773/registry/ -user _system -pass SYS

Dieser Befehl besagt, dass der ZPM-Client die unter der angegebenen URL zugängliche Registrierung als Remote-Registrierung verwenden und beim Zugriff den in den Argumenten -user und -pass angegebenen Benutzernamen und das Kennwort übergeben muss.

Modul veröffentlichen


Stellen Sie sicher, dass Sie einen separaten Ordner erstellt haben, in dem sich module.xml und die Klassen Ihres Moduls befinden (Klassen werden normalerweise im Ordner / src abgelegt). Im folgenden Beispiel wird dieses Modul als Demomodul bezeichnet (der Name wird in module.xml angegeben).

Stellen Sie sicher, dass Sie zur Testregistrierung gewechselt sind.

Verwenden Sie den Befehl load, um Ihren Code in den aktuellen Bereich zu laden:

zpm: MYNS>load /path/to/module/folder
[demo-module]  Reload START
[demo-module]  Reload SUCCESS
[demo-module]  Module object refreshed.
[demo-module]  Validate START
[demo-module]  Validate SUCCESS
[demo-module]  Compile START
[demo-module]  Compile SUCCESS
[demo-module]  Activate START
[demo-module]  Configure START
[demo-module]  Configure SUCCESS
[demo-module]  Activate SUCCESS

Dieser Befehl führt eine Reihe von Aktionen aus - lädt Ihren Code herunter, kompiliert ihn und konfiguriert Ihr Modul.

Jetzt weiß der ZPM-Client alles über Ihr Modul und kann es veröffentlichen.

Verwenden Sie zum Veröffentlichen den Befehl module-action mit dem Argument Publish:

zpm: MYNS>module-action demo-module publish

Der Befehl module-action kann weggelassen und kürzer geschrieben werden:

zpm: MYNS>demo-module publish
[demo-module]  Reload START
[demo-module]  Reload SUCCESS
[demo-module]  Module object refreshed.
[demo-module]  Validate START
[demo-module]  Validate SUCCESS
[demo-module]  Compile START
[demo-module]  Compile SUCCESS
[demo-module]  Activate START
[demo-module]  Configure START
[demo-module]  Configure SUCCESS
[demo-module]  Activate SUCCESS
[demo-module]  Package START
Module exported to:
 	/var/folders/9f/r62h3fxj42b5fzb0hgnb28m40000gn/T/direyLtX5/demo-module-1.0.0/
 
Module package generated:
 	/var/folders/9f/r62h3fxj42b5fzb0hgnb28m40000gn/T/direyLtX5/demo-module-1.0.0.tgz
[demo-module]  Package SUCCESS
[demo-module]  Register START
[demo-module]  Register SUCCESS
[demo-module]  Publish START
[demo-module]  Publish SUCCESS

Wenn dieser Befehl ausgeführt wird, wird das Modul zuerst "zusammengestellt" (dh zur Veröffentlichung vorbereitet) und in ein temporäres Verzeichnis exportiert, archiviert und dann in der aktuell aktiven Registrierung veröffentlicht.

Wenn Sie nun den Suchbefehl ausführen, sollte Ihr Modul in der Liste angezeigt werden:

zpm: MYNS>search                          
 
registry http://localhost:52773/registry/:
demo-module 1.0.0

Um zu überprüfen, ob die Installation erfolgreich ist, installieren Sie Ihr Modul mithilfe von ZPM aus der Testregistrierung in einer neuen IRIS-Installation oder einem neuen Bereich.

Wechseln Sie zur Standardregistrierung


Verwenden Sie das Flag -reset-defaults, um zur Arbeit mit der Standardregistrierung (pm.community.intersystems.com) zu wechseln:

zpm: MYNS>repo -r -n registry -reset-defaults


Veröffentlichen Sie ein Modul in der Community-Registrierung


Sie können Ihr Modul in der Community-Registrierung (pm.community.intersystems.com) veröffentlichen, damit alle Entwickler von InterSystems es installieren und in ihren Lösungen verwenden können.
Veröffentlichen Sie dazu Ihre Lösung in InterSystems Open Exchange - einem Marktplatz für Anwendungen auf InterSystems - und geben Sie während der Installation an, dass es sich bei der Lösung um ein Paketmanager-Modul handelt:

Außerdem können Sie dieses Video zur Installation von Lösungen in Open Exchange ansehen .

Brauche deine Hilfe!


ZPM wird von der Community unterstützt. Bitte melden Sie Probleme oder Verbesserungsvorschläge. Erstellen Sie Probleme im Projekt-Repository .

Ein Hinweis zur Lizenz.

Der ZPM-Client und die Registrierung unter pm.community.intersystems.com werden von der InterSystems Corporation nicht unterstützt und wie unter der MIT-Lizenz dargestellt.

All Articles