Você está na página 1de 11

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

MANUAL PARA IMPLANTAÇÃO DE REPOSITÓRIO INTERNO DO 
MAVEN2.

Setembro – 2007
Sumário de Informações do Documento

Tipo do Documento: Definição
Título do Documento: Manual para implantação de repositório Interno do Maven2
Estado do Documento: EB (Elaboração)
Responsáveis: Emerson Sachio Saito
Palavras­Chaves: Repositório, Maven2, Artifactory.
Resumo:  Manual para implantação de repositório interno para Maven2
Número de páginas: 
Software utilizados: 
Versão Data Mudanças
1.0 17/09/2007 Criação. ( Revisado por Cíntia Evangelista )
1.1 26/10/2007 Inclusão do item 1.3.3 arquivos de configuração.
SUMÁRIO

1 CONTROLE DE BIBLIOTECAS DE SOFTWARE..........................................................................................4


1.1 CONTEXTO................................................................................................................................................................4
1.2 SOLUÇÃO ENCONTRADA..............................................................................................................................................4
1.2.1 Como funciona o MAVEN2....................................................................................................................5
1.2.2 Maven2 para controle de bibliotecas.....................................................................................................5
1.3 REPOSITÓRIO INTERNO................................................................................................................................................6
1.3.1 Solução para Repositório Interno..........................................................................................................6
1.3.2 Esquema do Repositório Interno...........................................................................................................7
1.3.3 Arquivos de configuração......................................................................................................................7
2 GUIA PARA IMPLANTAÇÃO............................................................................................................................9
2.1 DEPLOY DO ARTIFACTORY...........................................................................................................................................9
2.2 CONFIGURAÇÃO DO SISTEMA DE ARQUIVOS...................................................................................................................9
3 CONSIDERAÇÕES FINAIS..............................................................................................................................11
4

1 CONTROLE DE BIBLIOTECAS DE SOFTWARE

1.1 Contexto

Até  o   presente   momento   o  gerenciamento   das   bibliotecas   das   aplicações,   tanto   da 

Plataforma   PINHÃO   (proto­agentes)   como   as   de   terceiros   (ex.   struts,   hibernate,   etc), 

incluindo   suas   versões,   é   feito   através   do   armazenamento   das   mesmas   na   pasta   “lib”   do 

Projeto Mínimo (gtf­minimo) no CVS (sistema de controle de versões). Esta era a forma mais 

fácil   e   rápida   que   havia   sido   adotada   pela   Plataforma   PINHÃO   quando   a   mesma   foi 

concebida, porém com  o avanço do uso pela empresa surgiu a necessidade de um melhor 

controle sobre estes artefatos e as suas versões. Assim surgiu a demanda por uma solução que 

melhor atendesse esta necessidade.

1.2 Solução encontrada

Através   do   estudo   de   algumas   alternativas,   chegou­se   a   conclusão   que   a   melhor 

solução para o contexto apresentado é a utilização da solução chamada MAVEN2 (versão 2 da 

ferramenta).   O   MAVEN2   é   um   software   que   serve   como   apoio   para   gerenciamento   da 

construção   de   aplicações   e   que   tem   como   característica   um   ótimo   controle   de   uso   e 

armazenamento das bibliotecas utilizadas. Outra característica considerada importante foi a 

possibilidade de integração com a ferramenta ECLIPSE, que é a IDE padrão da plataforma 

PINHÃO.

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
5

1.2.1 Como funciona o MAVEN2

A principal característica do MAVEN2 é a utilização de um arquivo em formato XML 

(pom.xml : obrigatoriamente), que contém todas as informações do projeto.

Através do processamento deste arquivo a ferramenta é capaz de executar todas as 

tarefas comuns à construção de aplicações (atualmente qualquer tipo de aplicação JAVA: SE, 

EE ou ME) como: compilação, empacotamento e testes. Como utiliza o conceito de plugins, é 

capaz   de   executar   qualquer   tipo   de   tarefa   desde   que   haja   um   plugin   disponível.   Como 

exemplo,   podemos   citar   plugins   para   Servidores   de   Aplicação   (Tomcat,   Jboss,   etc   ...), 

ferramentas   MDA   (AndroMDA),   integração   com   IDE's   de   desenvolvimento   (Eclipse, 

Netbeans), entre outros que estão em constante desenvolvimento.

1.2.2 Maven2 para controle de bibliotecas

Outra característica importante do Maven2, que foi a principal para a definição do seu 

uso, é a forma como são controladas as bibliotecas utilizadas pelas aplicações.

O Maven2 (assim como suas versões anteriores) utiliza um conceito de repositórios de 

bibliotecas,   que   são   servidores   onde   ficam   armazenadas   todas   as   bibliotecas   e   arquivos 

necessários para o desenvolvimento das aplicações.

No arquivo POM.XML são indicadas quais as bibliotecas que serão utilizadas. Assim 

não é necessário o armazenamento das mesmas nas áreas dos projetos no sistema de controle 

de versões (CVS), além é claro de permitir um melhor controle das suas versões.

Nenhuma biblioteca deverá ser incluída manualmente na área da aplicação.

O Maven2 irá baixar as bibliotecas indicadas no arquivo POM.XML do repositório 

para o ambiente de execução da aplicação, seja no ambiente local ou produção (através do 

Estaleiro).

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
6

1.3 Repositório Interno

Por padrão o Maven2 irá buscar e baixar a lista de bibliotecas (POM.XML) do seu 

repositório central que está disponível para acesso através da Internet.

É  possível   ainda,   indicar   à   ferramenta   um   repositório   interno   (ambiente   intranet), 

evitando   assim   o   excesso   de   tráfego   na   rede   (ou   ainda   restrições   com   proxy)   e   também 

possibilita o gerenciamento das bibliotecas próprias, que é o caso dos proto­agentes.

1.3.1 Solução para Repositório Interno

Para  se   disponibilizar   um   repositório   local   para   o   Maven2   é   necessária   a 

implementação de uma solução conforme algumas especificações, e não somente implementar 

um servidor de arquivos. Felizmente já existem várias soluções abertas que implementam 

estas especificações. Foram avaliadas algumas delas,  conforme listadas abaixo:

• Maven Proxy ­ http://maven­proxy.codehaus.org/
• Dead Simple Maven Proxy (DSMP) ­ http://www.pdark.de/dsmp/
• Proximity ­ http://proximity.abstracthorizon.org/
• Artifactory - http://www.jfrog.org/sites/artifactory

Nesta avaliação foram considerados os seguintes requisitos:

• Compatibilidade com o ambiente PINHÃO.
• Facilidade de Uso.
• Documentação (Help, Wiki, Forum, etc).
• Dentre os avaliados o que foi considerado mais satisfatório foi o ARTIFACTORY.

Portanto, esta solução foi a escolhida para implantação do repositório da Plataforma


PINHÃO.

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
7

1.3.2 Esquema do  Repositório Interno

Abaixo o esquema de funcionamento da solução no Ambiente da CELEPAR:

Figura 1. Repositório Interno.

* Estaleiro: Solução de Deploy e Monitoramento dos Sistemas WEB.

1.3.3 Arquivos de configuração

Para   que   os  ambientes   dos   desenvolvedores   e   o   próprio   ESTALEIRO   encontre   o 

repositório que deverá ser utilizado, existem alguns arquivos de configuração que devem ser 

editados.

No   caso   do   ESTALEIRO,   o   pacote   DEBIAN  maven2  deverá   estar   instalado   no 

servidor, e portanto no diretório /etc/maven2 se encontrará o arquivo SETTINGS.XML neste 

arquivo a alteração deverá ser feita na TAG <mirrors> ex:

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
8

<mirrors>

<mirror>

<id>artifactory</id>

<mirrorOf>*</mirrorOf>

<url>http://nic.celepar.parana:8080/maven2/repo</url>

<name>Artifactory</name>

</mirror>

</mirrors>

Para o ambiente dos desenvolvedores, esta configuração estará disponível no arquivo 

POM.XML, que faz parte do projeto mínimo, e portanto só necessitará de alteração caso haja 

alguma mudança.

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
9

2 GUIA PARA IMPLANTAÇÃO

2.1 Deploy do Artifactory

Conforme o item 1.3.1 a solução escolhida para implementação do repositório é o 

Artifactory, mas devido à alguns requisitos de compatibilidade com a plataforma PINHÃO, 

pequenas modificações, principalmente em arquivos de configuração, foram necessárias, pois 

originalmente o Artifactory foi projetado para executar no Servidor de Aplicações JETTY, 

mas o servidor padrão do PINHÃO é o JBOSS.

A GIC disponibilizará o arquivo (maven2.war) para que o mesmo seja copiado para o 

diretório de deploy do Jboss, diferentemente das soluções de sistemas internas o Artifactory 

não será compilado e disponibilizado via Estaleiro, pelo menos por enquanto.

2.2 Configuração do Sistema de Arquivos

O Artifactory armazenará os arquivos das bibliotecas no sistema de arquivos  (File 

System) assim como os índices que serão criados.

A GIC disponibilizará a configuração básica de diretórios, já contendo alguns arquivos 

de configuração mínima.

Será  necessária   a   reserva   mínima   de   espaço   no   sistema   de   arquivos   prevendo   o 

crescimento da base, hoje atualmente em aproximadamente 500 Mb.

Por   padrão   do   Artifactory,   os   arquivos   deveriam   estar   num   diretório   chamado 

.artifactory no “home” do usuário que está executando o serviço, no caso do JBoss seria: 

/usr/lib/Jboss4/.artifactory,  porém esta configuração pode ser alterada de 2(duas) formas:

1) A primeira delas é através da alteração no arquivo “run.conf” do servidor Jboss que 

irá rodar a aplicação, onde será inserida a opção ­Dartifactory.home=DIRETÓRIO, conforme 

o exemplo abaixo:

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
10

if [ "x$JAVA_OPTS" = "x" ]; then

JAVA_OPTS="-server -Xms512m -Xmx512m -XX:MaxPermSize=256m -XX


:+AggressiveOpts -Djboss.server.log.dir=/var/log/jboss4 -Dartifactory
.home=/home/artifactory/.artifactory"

fi

2)  A segunda forma, que é a menos recomendada, é “setar” uma variável de sessão:
JAVA_OPTS=-Dartifactory.home=DIRETÓRIO

Mudar esta configuração é muito interessante, pois permite alterar a localização dos 

diretórios do sistema de arquivos (para um storage por exemplo) sem impacto na aplicação.

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR
11

3 CONSIDERAÇÕES FINAIS

Após implantado o repositório interno do Maven2, todos os novos projetos utilizarão o 

arquivo   POM.XML   como   base   para   a   implementação.   No   projeto   mínimo   do   CVS   (gtf­

minimo)   estará   disponível   o   arquivo   POM.XML   com   as   bibliotecas   mínimas   e   as 

configurações para o repositório interno.

O Estaleiro,  solução de deploy, estará adaptado para o uso do MAVEN2.

Será disponibilizado juntamente com o pacote DEBIAN (celepar­dev) um plugin para 

o ECLIPSE que fará a integração com o MAVEN2.

Haverá também um pacote para o Maven2 para instalação no servidor do Estaleiro.

No processo de desenvolvimento não haverá nenhuma alteração com relação ao atual.

A GIC disponibilizará um manual para utilização do plugin do Maven2 para o Eclipse.

Somente a GIC fará a manutenção do repositório interno, assim havendo necessidade 

de uso de qualquer outra biblioteca não armazenada, deverá ser encaminhada à esta gerência.

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ  ­ CELEPAR

Você também pode gostar