ZPM - gerenciador de pacotes do InterSystems IRIS

Os gerenciadores de pacotes para várias plataformas são amplamente utilizados, pois permitem instalar e configurar rapidamente muitos componentes e bibliotecas prontas. E também usado para implantar suas próprias soluções. É importante que o gerenciador de pacotes lide com dependências, ou seja, se seu aplicativo usar algum tipo de biblioteca de uma determinada versão, o gerenciador de pacotes, ao instalar seu aplicativo, também instalará a versão necessária desta biblioteca.

Agora para o InterSystems IRIS, um gerenciador de pacotes, ZPM, também está disponível.

O ZPM permite encontrar, instalar, atualizar um módulo e também pode ser usado para publicar módulos. Cada módulo pode ser um aplicativo, biblioteca, estrutura, utilitário ou um exemplo separado de uso das tecnologias da InterSystems.

Gerenciador de Pacotes do ZPM


O ZPM consiste em dois componentes:

  • Cliente (CLI) Um
    utilitário que é instalado no seu IRIS e é usado para gerenciar módulos (por exemplo, para instalação)
  • Registro
    Um banco de dados de módulos e meta-informações usadas para gerenciar módulos.

Por padrão, o cliente ZPM está configurado para usar o registro: pm.community.intersystems.com é o registro da comunidade de desenvolvedores. Este registro publicou muitos exemplos, utilitários e bibliotecas.

Você também pode pegar e usar seu próprio registro (mais sobre isso mais adiante neste artigo).

Por onde começar


1. Instale o cliente ZPM


Faça o download do instalador mais recente neste link .

Importe a classe baixada para qualquer área da maneira que for mais conveniente para você: através do portal, do Studio ou do terminal.

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

Se você usar o Docker, poderá usar as imagens do InterSystems IRIS Community Edition e do InterSystems IRIS for Health Community Edition, que já contêm a versão mais recente do ZPM ( para obter mais detalhes, consulte a documentação ).

2. Iniciando o ZPM


Após a instalação, o ZPM está disponível em qualquer área.
Para usar o ZPM, digite o comando zpm no terminal e você executará a interface da linha de comandos (CLI) do gerenciador de pacotes do ZPM.

MYNS> zpm
zpm: MYNS>

Usando o comando help, você pode obter uma lista de todos os comandos disponíveis.

zpm: MYNS>help


3. Instalando o Módulo


Primeiro, usando o comando search, observe a lista de módulos disponíveis no registro:

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

Use o comando install para instalar o módulo ou atualização mais recente. A instalação será realizada na área atual.

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 você pode ver, o módulo mdx2json é instalado primeiro, do qual o módulo dsw depende e, em seguida, dsw.

Isso é tudo - o módulo está instalado e configurado!

Muitos comandos possuem sinalizadores especiais, por exemplo, o sinalizador -v ou -verbose permite ver detalhes, por exemplo:

zpm: MYNS>install dsw -v

Confira a lista completa de comandos para seus argumentos e sinalizadores na página de documentação ou usando o comando help.

Preparando e publicando seu próprio pacote


Para publicar seu próprio pacote, você deve:

  • faça seu código funcionar no InterSystems IRIS;
  • prepare o arquivo module.xml.

O arquivo module.xml descreve seu pacote, os recursos incluídos no pacote, as dependências e os componentes necessários ao instalar o pacote (por exemplo, criando aplicativos da Web).

Se você usou o Manifesto de instalação do InterSystems IRIS (% de instalador) antes , encontrará muito em comum no module.xml e no bloco XDATA.

Descrição do formato xml na documentação

Você pode encontrar exemplos 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 seu pacote no registro público pm.community.intersystems.com, basta publicar o aplicativo no Open Exchange e especificar seu repositório público.

Defina seu próprio registro


Criar seu próprio registro é opcional, mas com ele você pode verificar como o seu módulo é montado e instalado.

Se você planeja publicar seu aplicativo no registro público pm.community.intersystems.com, é recomendável verificar primeiro todas as etapas do registro local.

Para instalar seu próprio registro, você pode usar o comando install
Vá para a área de registro (a seguir assumimos que se chama REGISTRO) e execute

REGISTRY>zpm
zpm: REGISTRY>install zpm-registry

Verifique se o seu registro está funcionando - abra a página localhost : 52773 / registry / _ping no seu navegador (pode ser necessário especificar uma porta diferente, dependendo das configurações do seu IRIS). Ao acessar a página, você precisará especificar o login e a senha do usuário do IRIS (por exemplo: _system / SYS).

Se você viu {"message": "ping"} - seu registro foi instalado com sucesso.

Agora configure seu cliente ZPM para trabalhar com o novo registro.

Execute o comando:

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

Este comando diz que o cliente ZPM precisa usar o registro disponível na URL especificada como um registro remoto e passar o nome de usuário e a senha especificados nos argumentos -user e -pass ao acessar, respectivamente.

Módulo de publicação


Verifique se você criou uma pasta separada na qual module.xml e as classes do seu módulo estão localizadas (as classes geralmente são colocadas na pasta / src). No exemplo abaixo, este módulo será chamado de demo-module (o nome é especificado em module.xml).

Verifique se você mudou para o registro de teste.

Use o comando load para carregar seu código na área atual:

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 executa várias ações - baixa e compila seu código e configura seu módulo.

Agora, o cliente ZPM sabe tudo sobre o seu módulo e pode publicá-lo.

Para publicar, use o comando module-action com o argumento de publicação:

zpm: MYNS>module-action demo-module publish

O comando module-action pode ser omitido e gravado mais curto:

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

Quando esse comando é executado, o módulo primeiro é "montado" (preparado para publicação) e exportado para um diretório temporário, arquivado e depois publicado no registro atualmente ativo.

Agora, se você executar o comando search, deverá ver seu módulo na lista:

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

Para verificar se a instalação foi bem-sucedida, instale o módulo a partir do registro de teste usando o ZPM em uma nova instalação do IRIS ou em uma nova área.

Mudar para o registro padrão


Para mudar para o trabalho com o registro padrão (pm.community.intersystems.com), use o sinalizador -reset-defaults:

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


Publique um módulo no registro da comunidade


Você pode publicar seu módulo no registro da comunidade (pm.community.intersystems.com) para que todos os desenvolvedores da InterSystems possam instalar e usá-lo em suas soluções.
Para fazer isso, publique sua solução no InterSystems Open Exchange - um mercado para aplicativos no InterSystems e indique durante a instalação que a solução é um módulo do Gerenciador de Pacotes:

Além disso, você pode assistir a este vídeo sobre a instalação de soluções no Open Exchange.

Preciso da sua ajuda!


O ZPM é suportado pela comunidade - relate quaisquer problemas ou sugestões de melhoria - crie problemas no repositório do projeto .

Uma nota sobre a licença.

O cliente e o registro do ZPM localizados em pm.community.intersystems.com não são suportados pela InterSystems Corporation e são apresentados como estão sob a licença MIT.

All Articles