ZPM - gestor de paquetes para InterSystems IRIS

Los gestores de paquetes para varias plataformas son muy utilizados, le permiten instalar y configurar rápidamente muchos componentes y bibliotecas ya preparados. Y también solían implementar sus propias soluciones. Es importante que el administrador de paquetes maneje las dependencias, es decir Si su aplicación utiliza algún tipo de biblioteca de una determinada versión, el administrador de paquetes, al instalar su aplicación, también instalará la versión necesaria de esta biblioteca.

Ahora para InterSystems IRIS, también está disponible un administrador de paquetes, ZPM.

ZPM le permite buscar, instalar, actualizar un módulo y también puede usarse para publicar módulos. Cada módulo puede ser una aplicación, biblioteca, marco, utilidad o un ejemplo de uso de las tecnologías de InterSystems.

Administrador de paquetes ZPM


ZPM consta de dos componentes:

  • Cliente (CLI) Una
    utilidad que se instala en su IRIS y se usa para administrar módulos (por ejemplo, para la instalación)
  • Registro
    Una base de datos de módulos y metainformación utilizada para administrar módulos.

De manera predeterminada, el cliente ZPM está configurado para usar el registro: pm.community.intersystems.com es el registro de la comunidad de desarrolladores. Este registro ha publicado muchos ejemplos, utilidades y bibliotecas.

También puede recoger y usar su propio registro (más sobre eso más adelante en este artículo).

Dónde empezar


1. Instale el cliente ZPM


Descargue el último instalador desde este enlace .

Importe la clase descargada a cualquier área de la manera que le resulte conveniente: a través del portal, a través del estudio o a través del terminal.

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

Si usa Docker, puede usar las imágenes InterSystems IRIS Community Edition e InterSystems IRIS for Health Community Edition, que ya contienen la última versión de ZPM ( para más detalles, consulte la documentación ).

2. Iniciando ZPM


Después de la instalación, ZPM está disponible en cualquier área.
Para usar ZPM, simplemente escriba el comando zpm en el terminal y ejecutará la interfaz de línea de comandos (CLI) del administrador de paquetes ZPM.

MYNS> zpm
zpm: MYNS>

Con el comando de ayuda, puede obtener una lista de todos los comandos disponibles.

zpm: MYNS>help


3. Instalación del módulo


En primer lugar, utilizando el comando de búsqueda, mire la lista de módulos disponibles en el registro:

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

Use el comando de instalación para instalar el último módulo o actualización. La instalación se realizará en el área actual.

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

Como puede ver, el módulo mdx2json se instala primero, del cual depende el módulo dsw, y luego dsw.

Eso es todo: ¡el módulo está instalado y configurado!

Muchos comandos tienen indicadores especiales, por ejemplo, el indicador -v o -verbose le permite ver detalles, por ejemplo:

zpm: MYNS>install dsw -v

Consulte la lista completa de comandos para ver sus argumentos y marcas en la página de documentación o con el comando de ayuda.

Preparando y publicando su propio paquete


Para que pueda publicar su propio paquete, debe:

  • haga que su código funcione en InterSystems IRIS;
  • prepare el archivo module.xml.

El archivo module.xml describe su paquete, los recursos incluidos en el paquete, las dependencias y los componentes necesarios al instalar el paquete (por ejemplo, crear aplicaciones web).

Si utilizó el Manifiesto de instalación IRIS de InterSystems (% Installer) anteriormente , encontrará muchas cosas en común en module.xml y en el bloque XDATA.

Descripción del formato xml en la documentación

Puede encontrar ejemplos de module.xml para módulos publicados:
github.com/isc-zpm/DeepSeeWeb/blob/master/module.xml
github.com/isc-zpm/Samples-BI/blob/master/ module.xml

Para publicar su paquete en el registro público pm.community.intersystems.com es suficiente publicar la aplicación en Open Exchange y especificar su repositorio público.

Establece tu propio registro


Crear su propio registro es opcional, pero con él puede verificar cómo se ensambla e instala su módulo.

Si planea publicar su solicitud en el registro público pm.community.intersystems.com, se recomienda que primero verifique todos los pasos en su registro local.

Para instalar su propio registro, puede usar el comando de instalación.
Vaya al área de registro (en adelante asumiremos que se llama REGISTRO) y ejecute

REGISTRY>zpm
zpm: REGISTRY>install zpm-registry

Verifique que su registro esté funcionando: abra la página localhost : 52773 / Registry / _ping en su navegador (es posible que deba especificar un puerto diferente, según la configuración de IRIS). Al acceder a la página, deberá especificar el inicio de sesión y la contraseña del usuario de IRIS (por ejemplo: _system / SYS).

Si vio {"mensaje": "ping"}, su registro se instaló correctamente.

Ahora configure su cliente ZPM para trabajar con el nuevo registro.

Ejecute el comando:

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

Este comando dice que el cliente ZPM necesita usar el registro accesible en la URL especificada como un registro remoto y pasar el nombre de usuario y la contraseña especificados en los argumentos -user y -pass al acceder, respectivamente.

Módulo de publicación


Compruebe que ha creado una carpeta separada en la que se encuentran module.xml y las clases de su módulo (las clases generalmente se colocan en la carpeta / src). En el ejemplo a continuación, este módulo se llamará módulo de demostración (el nombre se especifica en module.xml).

Verifique que haya cambiado al registro de prueba.

Use el comando de carga para cargar su código en el área actual:

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

Este comando realiza una serie de acciones: descarga y compila su código y configura su módulo.

Ahora el cliente ZPM sabe todo sobre su módulo y puede publicarlo.

Para publicar, use el comando module-action con el argumento de publicación:

zpm: MYNS>module-action demo-module publish

El comando module-action se puede omitir y escribir más brevemente:

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

Cuando se ejecuta este comando, el módulo primero se “ensamblará” (es decir, se preparará para su publicación) y se exportará a un directorio temporal, se archivará y luego se publicará en el registro actualmente activo.

Ahora, si ejecuta el comando de búsqueda, debería ver su módulo en la lista:

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

Para verificar que la instalación sea exitosa, instale su módulo desde el registro de prueba usando ZPM en una nueva instalación de IRIS o en un área nueva.

Cambiar al registro predeterminado


Para pasar a trabajar con el registro predeterminado (pm.community.intersystems.com) use el indicador -reset-defaults:

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


Publicar un módulo en el registro comunitario


Puede publicar su módulo en el registro de la comunidad (pm.community.intersystems.com) para que todos los desarrolladores de InterSystems puedan instalarlo y utilizarlo en sus soluciones.
Para hacer esto, publique su solución en InterSystems Open Exchange , un mercado para aplicaciones en InterSystems e indique durante la instalación que la solución es un módulo de Package Manager:

además, puede ver este video sobre la instalación de soluciones en Open Exchange.

¡Necesitamos su ayuda!


ZPM cuenta con el respaldo de la comunidad; informe cualquier problema o sugerencia de mejora; cree problemas en el repositorio del proyecto .

Una nota sobre la licencia.

El cliente y el registro de ZPM ubicados en pm.community.intersystems.com no son compatibles con InterSystems Corporation y se presentan tal como están bajo la licencia MIT.

All Articles