Build automatizado de aplicações Java usando o TFS 2012

Quando estamos instalando um ambiente de TFS, é muito comum os clientes pensarem que esse ambiente só funciona para aplicações criadas em .NET, isso é uma MENTIRA!

O TFS suporta gerenciar aplicações desenvolvidas em Java usando o plugin para o Eclipse chamado Team Explorer Everywhere for Microsoft Visual Studio Team Foundation Server 2012 que é GRATUÍTO e pode ser baixado nesse link http://www.microsoft.com/en-us/download/details.aspx?id=30661.

Como podemos ver na imagem abaixo, esse plugin é identico ao Team Explorer do Visual Studio, com esse plugin temos acesso as funcionalidade do TFS como Work Items, Source Control, Pending Changes, Builds, Reports, etc.

Mas e o build?

Para realizar a automatização de build para aplicações Java, o TFS necessita do auxilio de scripts de build usando o ANT ou o MAVEN que são frameworks Java que auxiliam a automatização de builds.

Abaixo será demostrado como podemos configurar uma aplicação Web para realizar build e deploy no JBOSS

O que devo instalar?

1) Instalar e configurar o Java

Baixar o JDK do Java, instalar e configurar as variáveis de ambiente (JAVA_HOME)

2) Instalar e configurar o JBOSS

Baixar o JBOOS, descompactar em um diretório e configurar as variáveis de ambiente (JBOSS_HOME)

3) Instalar e configurar o ANT

Baixar o ANT, descompactar em um diretório e configurar as variáveis de ambiente (ANT_HOME)

4) Microsoft Visual Studio Team Foundation Server 2012 Build Extensions?

O Build Extensions são targets adicionais para que o TFS possa chamar os scritps criados pelo ANT / MAVEN

Configuração do projeto

O projeto que vamos realizar o build é bem simples, contém uma página JSP que lista a data e hora atual, veja abaixo a estrutura do projeto

Agora temos que criar o arquivo build.xml onde vamos criar o script ANT que será responsável por gerar o pacote .WAR e copiar para o diretório do JBOSS. Veja abaixo o conteúdo desse script

Explicando o script:

Linha 2: Devemos adicionar o Nome do Projeto, qual vai ser a target default e o diretório base onde vai rodar o build

Linha 4: Variável para salvar o diretório onde se encontra o JBOSS

Linha 5: Variável para salvar o diretório onde será feito o deploy do WAR

Linha 7: Variável para salvar o diretório base da aplicação, nesse caso “.” é a raiz do projeto

Linha 8: Variável para salvar o diretório onde se encontra os arquivos .jsp

Linha 10: Variável para salvar o diretório onde será salvo o resultado do build, nesse caso no diretório DropLocation do TFS

Linha 11: Variável para salvar o diretório onde será salvo o resultado do arquivo .WAR, nesse caso no diretório DropLocation do TFS

Linha 13: Target responsável por gerar o arquivo .WAR

Linha 21: Target responsável por copiar o arquivo .WAR para o diretório do JBOSS

Configuração do Build no TFS

Com o nosso script ANT criado, temos que configurar um novo Build Definition no TFS, na janela Team Explorer selecione a opção Builds

Essa tela podemos ver todos os builds configurados para o projeto, selecione a opção New Build Definition

Adicione um nome e uma descrição para o build


Selecione a opção de como o build será acionado, nesse caso vamos selecionar Continuos Integration, isso significa que a cada check-in executado o build será disparado automáticamente

Configure o workspace apontando para o diretório onde contém o código fonte

Selecione qual o controller responsável por executar esse build e o diretório onde será copiado o resultado do build

Agora vem a parte mais importante, onde vamos configurar o arquivo ANT build.xml que criamos anteriormente, clique no botão Create

Nessa nova tela temos a opção de selecionar qual tipo de script que estamos usando, ANT ou MAVEN, nesse caso vamos selecionar a opção MSBuild Configuration from Existing Ant Buildfile

Selecione o arquivo build.xml e clique no botão Finish

Perceba que foi criado automaticamente um arquivo .proj onde contém todo o processo do build, clique no botão OK para finalizar.

Agora temos um build para nosso projeto configurado.

Executando o Build

Agora vamos testar nosso build, primeiramente vamos executa-lo manualmente, clique com o botão direito sobre o build definition BuildWeb e selecione a opção Queue New Build. Essa opção vai adicionar esse build na fila para ser executado.

Será aberta uma janela para revisar as configurações, clique no botão Queue

Depois de toda a exeução do build vamos receber uma tela com o resultado do Build

Executando a Integração Contínua

Agora para testar a integração contínua, vamos fazer uma alteração em nosso arquivo demo.jsp e no momento do check-in será disparado automáticamente o nosso build

Veja que foi disparado um novo build, e no resultado temos o que foi alterado e a tarefa que é referente a essa alteração

Veja o log do JBOSS como ele fez o deploy

Agora basta acessar nossa página e ver a alteração publicada

Deixe seu comentário, opinião, critica

Aquele abraço!

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.