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çãoVocê pode encontrar exemplos de module.xml para módulos publicados:github.com/isc-zpm/DeepSeeWeb/blob/master/module.xmlgithub.com/isc-zpm/Samples-BI/blob/master/ module.xmlPara 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 installVá para a área de registro (a seguir assumimos que se chama REGISTRO) e executeREGISTRY>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.