quarta-feira, 20 de março de 2013

Nexus - Repositório Maven


Semana passada no CASNAV apresentamos o Nexus e outras ferramentas (Jenkins e Sonar) para a equipe do projeto SIOP. Essas apresentações envolveram as visões de desenvolvimento, gerencial e de administrador. Aí, decidi falar um pouco do Nexus aqui. 

A seguir apresento um guia de administração dessa ferramenta. Nesse guia é abordada a instalação e backup do Nexus.

Nexus é o repositório padrão de artefatos para aplicações Maven. Ele foi desenvolvido pela Sonatype e prove, principalmente, armazenamento de artefatos e proxy para outros repositórios, facilitando e simplificando a configuração dos projetos nos seus respectivos POMs.

1.1      Instalação

Para realizar a instalação do Nexus, deve-se fazer o download do war no site http://www.sonatype.org/nexus/ e colocá-lo na pasta webapps do Tomcat. Após ser realizado o deploy do Nexus, ele deverá ser configurado, de acordo com a utilização necessária.

1.2      Configuração

O Nexus é uma ferramenta que já vem pronta para ser utilizada, necessitando apenas da inicialização do usuário de acordo com as necessidades dos projetos que o utilizarão, como: (1) armazenamento dos artefatos que serão providos por ele, ou (2) criação dos repositórios proxy que o Nexus refenciará.

1.3      Administração

As principais tarefas de administração do Nexus são a criação de repositórios proxy e o armazenamento de artefatos de terceiros ou desenvolvidos pela própria organização.

1.3.1      Criação de repositórios Proxy

Uma das utilidades do Nexus é servir de proxy entre os repositórios externos e os desenvolvedores internos a uma rede. A configuração de repositórios Proxy é interessante para que os projetos tenham apenas que apontar para o servidor Maven local (Nexus) e não todos os repositórios que o projeto utiliza. Para isso deve-se criar um repositório do tipo proxy e indicar as seguintes configurações:
1.      Id do repositório: forma como o Nexus identifica os seus repositórios.
2.      Nome do Repositório: nome que será exibido na listagem de repositórios.
3.      Url do repositório remoto: url do repositório remoto que será referenciado pelo Nexus.
Após criar o repositório é importante adicioná-lo ao conjunto de repositórios que o repositório public (do Nexus) referencia. Isso se deve, pois os projetos devem referenciar o repositório pubilc apenas nas suas configurações (realizadas no POM).

1.3.2      Armazenamento de artefatos internos

Para armazenar no Nexus artefatos desenvolvidos pela instituição ou artefatos de terceiros que não podem ser encontrados em outros repositórios do Maven, deve-se fazer o seu upload. Existe um tipo de repositório específico para isso que é o 3rd Party. Para fazer o uplouad dos artefatos neste repositório deve-se fornecer ao menos as informações mínimas para se definir uma dependência de projeto do Maven :
·         GroupId: id do grupo responsável pelo projeto. Exemplo: net.sf.jasperreports.
·         ArtifactId: id do artefato. Exemplo: jasperreports.
·         Version: versão do artefato referenciado. Exemplo: 4.1.2
As informações fornecidas devem estar de acordo com as indicadas no POM dos projetos. Para o exemplo citado acima, deve colocar o seguinte no POM do projeto:


<dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>4.1.2</version>
</dependency>

1.4      Backup

O Nexus não armazena dados em um banco de dados. Após a primeira execução do Nexus, tem-se duas pastas:
1.      nexus-webapp-1.3.1.1: pasta da aplicação descompactada dentro do servidor. Pode ter outro nome dependendo do nome do war que foi descompactado. É comum que esse nome seja o mesmo da aplicação, acessada pela url.
2.      sonatype-work: pasta para a configuração e dados.
O modo mais simples de se fazer backup do Nexus é simplesmente fazer o backup dos arquivos que estão em sonatype-work/nexus. Esse backup pode ser feito inclusive num repositório SVN para que seja guardado o histórico de versões do mesmo, agregando todos os benefícios de se armazenar artefatos sob um Sistema de Controle de Versão.
O Backup do Nexus não precisa ser realizado semanalmente ou diariamente, mas deve ser acionado pelas seguintes ações:
·         Criação de usuários ou alteração de senha;
·         Criação de novos repositórios proxy;
·         Adição de novos artefatos no repositório 3rd Party;
·         Qualquer mudança de configuração.

Nenhum comentário:

Postar um comentário

Obrigado por deixar seu comentário. Em breve ele estará publicado.