Artigo Engenharia de Software 21 - Integração contínua com Hudson, Maven2, TestNG e Subversion

Esse artigo trata da Montagem de um ambiente de integração contínua utilizando um conjunto de ferramentas para este fim.

Esse artigo faz parte da revista Engenharia de Software 21 edição especial. Clique aqui para ler todos os artigos desta edição



Projeto

Integração contínua com Hudson, Maven2, TestNG e Subversion

De que trata o artigo:

Montagem de um ambiente de integração contínua utilizando um conjunto de ferramentas para este fim.

Para que serve:

O ambiente de integração contínua proposto mantém o código fonte do repositório sempre testado, aumentando sua confiabilidade, além de diminuir a alocação de recursos humanos em atividades de teste.

Em que situação o tema é útil:

Em ambientes em que é preciso manter um repositório com código fonte confiável e em sistemas em que os testes atingiram uma complexidade relevante e estão consumindo recursos humanos em excesso ao serem executados.

 

Devido à crescente demanda por softwares cada vez mais complexos e de maior qualidade, várias técnicas vêm sendo propostas para auxiliar na sua construção. Uma dessas técnicas é o teste de unidade que tem como principal finalidade a busca por defeitos na menor unidade de um sistema como um método ou função, por exemplo.

Porém, em um sistema com uma complexidade relevante, os testes de unidade podem consumir um tempo excessivo da equipe cada vez que uma alteração no sistema seja necessária e os testes tenham que ser executados.

É neste contexto que se pode tirar proveito da integração contínua, onde um servidor faz periodicamente o checkout do código fonte do repositório e executa automaticamente os testes já criados.

Com isto, ao subir um código para o repositório não é necessário que todos os testes do sistema sejam executados. Pode ser definida uma estratégia onde o responsável por enviar o código para o repositório execute apenas os testes diretamente relacionados com a alteração realizada, diminuindo o tempo gasto com a execução dos testes.

Além disto, a execução periódica dos testes ajuda a manter a confiabilidade do código fonte que está no repositório.

Este artigo tem por finalidade demonstrar a configuração de um ambiente de integração contínua utilizando um servidor de integração contínua chamado Hudson, em um repositório controlado pelo Subversion, e um projeto criado no Eclipse utilizando o Maven2 através do plug-in Maven2Eclipse e o framework de testes TestNG.

Criando o repositório

O primeiro passo para iniciar a construção do ambiente é baixar e instalar o Subversion. Será utilizado o VisualSVN que é um servidor do Subversion que disponibiliza uma interface gráfica para configuração e que pode ser baixado no endereço http://www.visualsvn.com/.

A instalação do VisualSVN é bastante simples, basta executar o arquivo de instalação baixado e seguir os passos mantendo sempre as configurações padrões sugeridas pelo instalador.

Depois de instalado e executado, o VisualSVN apresenta uma tela semelhante à Figura 1.

 


Figura 1. Configuração VisualSVN

 

Neste momento é preciso configurar os usuários e grupos de usuários que terão acesso ao repositório. Como exemplo, será criado apenas um usuário chamado “devmedia” que pode ser incluído clicando com o botão direito sobre a opção Users, selecionando a opção New User e definindo um login e senha para este usuário.

Depois de criar o usuário, será criado um repositório chamado CalcularAprovacao. Para isso, clique com o botão direito sobre a opção Repositories e selecione a opção Create New Repository. Uma caixa de texto será aberta onde deve ser digitado CalcularAprovacao no nome do repositório.

Note que a URL do Subversion pode ser vista na tela inicial do VisualSVN no campo Server URL is. Posteriormente essa URL será necessária para configurar o servidor de integração e o Eclipse.

Feito isto, as configurações necessárias no repositório estão prontas.

Configurando o Eclipse

Para facilitar a criação do ambiente, primeiro será instalado um plug-in chamado Subclipse que permite a comunicação entre o Eclipse e o repositório. Para isto, abra o eclipse e acesse o menu Help / Install New Software. Uma janela será apresentada onde o endereço http://subclipse.tigris.org/update_1.6.x deve ser digitado no campo Work with e, em seguida, deve-se acessar a opção Add. Ao acessá-la, algumas opções irão aparecer no campo Name desta janela, onde devem ser marcadas as opções Core SVNKit Library, Optional JNA Library e Subclipse, como pode ser visto na " [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados