Escolar Documentos
Profissional Documentos
Cultura Documentos
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
PalavrasChaves: 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
1.1 Contexto
Até o presente momento o gerenciamento das bibliotecas das aplicações, tanto da
incluindo suas versões, é feito através do armazenamento das mesmas na pasta “lib” do
Projeto Mínimo (gtfminimo) 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
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
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 ...),
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.
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 protoagentes.
1.3.1 Solução para Repositório Interno
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://mavenproxy.codehaus.org/
• Dead Simple Maven Proxy (DSMP) http://www.pdark.de/dsmp/
• Proximity http://proximity.abstracthorizon.org/
• Artifactory - http://www.jfrog.org/sites/artifactory
• 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.
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:
* Estaleiro: Solução de Deploy e Monitoramento dos Sistemas WEB.
1.3.3 Arquivos de configuração
repositório que deverá ser utilizado, existem alguns arquivos de configuração que devem ser
editados.
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.
crescimento da base, hoje atualmente em aproximadamente 500 Mb.
.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
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
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 (celepardev) 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