ZPM - gestionnaire de paquets pour InterSystems IRIS

Les gestionnaires de packages pour diverses plates-formes sont très largement utilisés, ils vous permettent d'installer et de configurer rapidement de nombreux composants et bibliothèques prêts à l'emploi. Et également utilisé pour déployer leurs propres solutions. Il est important que le gestionnaire de packages gère les dépendances, c'est-à-dire si votre application utilise une sorte de bibliothèque d'une certaine version, le gestionnaire de packages, lors de l'installation de votre application, installera également la version nécessaire de cette bibliothèque.

Désormais, pour InterSystems IRIS, un gestionnaire de packages, ZPM, est également disponible.

ZPM vous permet de rechercher, d'installer, de mettre à jour un module et peut également être utilisé pour publier des modules. Chaque module peut être une application, une bibliothèque, une infrastructure, un utilitaire ou un exemple d'utilisation des technologies InterSystems distincts.

Gestionnaire de packages ZPM


ZPM comprend deux composants:

  • Client (CLI) Un
    utilitaire qui s'installe dans votre IRIS et est utilisé pour gérer les modules (par exemple, pour l'installation)
  • Registre
    Une base de données de modules et de méta-informations utilisées pour gérer les modules.

Par défaut, le client ZPM est configuré pour utiliser le registre: pm.community.intersystems.com est le registre de la communauté des développeurs. Ce registre a publié de nombreux exemples, utilitaires et bibliothèques.

Vous pouvez également récupérer et utiliser votre propre registre (plus d'informations à ce sujet plus loin dans cet article).

Où commencer


1. Installez le client ZPM


Téléchargez le dernier programme d'installation à partir de ce lien .

Importez la classe téléchargée dans n'importe quel domaine de la manière qui vous convient: via le portail, via le Studio ou via le terminal.

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

Si vous utilisez Docker, vous pouvez utiliser les images InterSystems IRIS Community Edition et InterSystems IRIS for Health Community Edition, qui contiennent déjà la dernière version de ZPM ( pour plus de détails, consultez la documentation ).

2. Démarrage de ZPM


Après l'installation, ZPM est disponible dans toutes les régions.
Pour utiliser ZPM, tapez simplement la commande zpm dans le terminal et vous exécuterez l'interface de ligne de commande (CLI) du gestionnaire de packages ZPM.

MYNS> zpm
zpm: MYNS>

En utilisant la commande d'aide, vous pouvez obtenir une liste de toutes les commandes disponibles.

zpm: MYNS>help


3. Installation du module


Tout d'abord, à l'aide de la commande de recherche, consultez la liste des modules disponibles dans le registre:

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

Utilisez la commande install pour installer le dernier module ou la dernière mise à jour. L'installation sera effectuée dans la zone actuelle.

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

Comme vous pouvez le voir, le module mdx2json est installé en premier, dont dépend le module dsw, puis dsw.

C'est tout - le module est installé et configuré!

De nombreuses commandes ont des drapeaux spéciaux, par exemple, le drapeau -v ou -verbose vous permet de voir les détails, par exemple:

zpm: MYNS>install dsw -v

Consultez la liste complète des commandes pour leurs arguments et indicateurs sur la page de documentation ou en utilisant la commande d'aide.

Préparer et publier votre propre package


Pour publier votre propre package, vous devez:

  • faire fonctionner votre code dans InterSystems IRIS;
  • préparez le fichier module.xml.

Le fichier module.xml décrit votre package, les ressources incluses dans le package, les dépendances et les composants nécessaires lors de l'installation du package (par exemple, la création d'applications Web).

Si vous avez utilisé le manifeste d'installation IRIS d'InterSystems (% Installer) auparavant , vous trouverez beaucoup de choses en commun dans module.xml et dans le bloc XDATA.

Description du format xml dans la documentation

Vous pouvez trouver des exemples de module.xml pour les modules publiés:
github.com/isc-zpm/DeepSeeWeb/blob/master/module.xml
github.com/isc-zpm/Samples-BI/blob/master/ module.xml

Pour publier votre package dans le registre public pm.community.intersystems.com, il suffit de publier l'application dans Open Exchange et de spécifier son référentiel public.

Définissez votre propre registre


La création de votre propre registre est facultative, mais avec elle, vous pouvez vérifier comment votre module est assemblé et installé.

Si vous prévoyez de publier votre application dans le registre public pm.community.intersystems.com, il est recommandé de vérifier d'abord toutes les étapes de votre registre local.

Pour installer votre propre registre, vous pouvez utiliser la commande install.
Accédez à la zone de registre (ci-après, nous supposerons qu'elle s'appelle REGISTRE) et exécutez

REGISTRY>zpm
zpm: REGISTRY>install zpm-registry

Vérifiez que votre registre fonctionne - ouvrez la page localhost : 52773 / registry / _ping dans votre navigateur (vous devrez peut-être spécifier un port différent, selon les paramètres de votre IRIS). Lors de l'accès à la page, vous devrez spécifier le login et le mot de passe de l'utilisateur IRIS (par exemple: _system / SYS).

Si vous avez vu {"message": "ping"} - votre registre est installé avec succès.

Configurez maintenant votre client ZPM pour qu'il fonctionne avec le nouveau registre.

Exécutez la commande:

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

Cette commande indique que le client ZPM doit utiliser le registre disponible à l'URL spécifiée comme registre distant et transmettre le nom d'utilisateur et le mot de passe spécifiés dans les arguments -user et -pass lors de l'accès, respectivement.

Module de publication


Vérifiez que vous avez créé un dossier séparé dans lequel se trouve module.xml et les classes de votre module (les classes sont généralement placées dans le dossier / src). Dans l'exemple ci-dessous, ce module sera appelé démo-module (le nom est spécifié dans module.xml).

Vérifiez que vous êtes passé au registre de test.

Utilisez la commande de chargement pour charger votre code dans la zone actuelle:

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

Cette commande effectue un certain nombre d'actions - télécharge et compile votre code et configure votre module.

Le client ZPM sait maintenant tout sur votre module et peut le publier.

Pour publier, utilisez la commande module-action avec l'argument de publication:

zpm: MYNS>module-action demo-module publish

La commande module-action peut être omise et écrite plus court:

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

Lorsque cette commande est exécutée, le module sera d'abord «assemblé» (c'est-à-dire préparé pour publication) et exporté vers un répertoire temporaire, archivé puis publié dans le registre actuellement actif.

Maintenant, si vous exécutez la commande de recherche, vous devriez voir votre module dans la liste:

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

Afin de vérifier que l'installation est réussie, installez votre module à partir du registre de test à l'aide de ZPM dans une nouvelle installation IRIS ou une nouvelle zone.

Passer au registre par défaut


Pour basculer vers l'utilisation du registre par défaut (pm.community.intersystems.com), utilisez l'indicateur -reset-defaults:

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


Publier un module dans le registre communautaire


Vous pouvez publier votre module dans le registre de la communauté (pm.community.intersystems.com) afin que tous les développeurs d'InterSystems puissent l'installer et l'utiliser dans leurs solutions.
Pour ce faire, publiez votre solution dans InterSystems Open Exchange - une place de marché pour les applications sur InterSystems et indiquez lors de l'installation que la solution est un module Package Manager:

vous pouvez en outre regarder cette vidéo sur l'installation de solutions dans Open Exchange.

Besoin de votre aide!


ZPM est pris en charge par la communauté - veuillez signaler tout problème ou suggestion d'amélioration - créez des problèmes dans le référentiel du projet .

Une note sur la licence.

Le client et le registre ZPM situés sur pm.community.intersystems.com ne sont pas pris en charge par InterSystems Corporation et sont présentés tels quels sous la licence MIT.

All Articles