Artigo .net Magazine 62 - Builds automatizados com NAnt

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Saiba como automatizar o processo de build em projetos .NET.

Esse artigo faz parte da revista .NET Magazine edição 62. Clique aqui para ler todos os artigos desta edição


Builds automatizados com NAnt

Automatizando o processo de build em projetos .NET

NAnt é uma ferramenta open source para build de projetos .NET e automatização de tarefas que oferece suporte a compilação de diversas linguagens como C#, VB.NET, J# sobre .NET Framework 1.0 a 3.5, Mono, entre outros. NAnt é baseada no Ant, ferramenta com mesmo fim para projetos em Java.

Baseando-se apenas nessas informações, parece uma ferramenta desnecessária, já que podemos compilar o projeto pela própria IDE do Visual Studio ou até mesmo por linha de comando no prompt do .NET Framework. Realmente para pequenos projetos pode não ser interessante, mas para soluções complexas com diversos projetos, uma equipe grande e distribuída em várias equipes ou fábricas, ela se torna essencial. Com NAnt podemos, por exemplo: atualizar os fontes dos projetos que estão em um repositório CVS, Subversion, dentre outros; compilar o projeto; executar testes unitários com NUnit ou qualquer outra ferramenta, em seguida gerar documentação do código utilizando NDoc ou Sandcastle; incluir arquivos de recursos no projeto; configurar definições de build ou de arquivos de configurações do projeto; gerar um pacote compactado de um release, mover ou copiar para algum diretório específico na máquina local ou na rede; gerar documentos do Word, Excel, PDF ou qualquer outro formato com informações da release ou preencher formulários necessários para realização de um deploy; anexar este documento e os arquivos resultantes do build em um email e enviar esse email a uma área de gerência de mudança / coordenação de infra-estrutura para atualização da aplicação em uma empresa, datacenter, etc.

O NAnt também é facilmente extensível, permitindo codificar em C#, VB.NET ou qualquer outra linguagem de sua preferência dentre as suportadas para estender as tarefas existentes ou criar tarefas totalmente novas. Tudo isso torna essa ferramenta praticamente ilimitada.

Ficou surpreso com o poder dessa ferramenta? Então vamos conhecer um pouco da estrutura de um arquivo de projeto do NAnt e criar um projeto completo de teste para mostrar algumas das tarefas citadas.

Hello NAnt!

Antes de começar, é necessário fazer o download do NAnt (http://nant.sourceforge.net) e do NAntContrib (http://nantcontrib.sourceforge.net) no site de ambos os projetos e instalar. Instalar o NAnt e o NAnt Contrib é muito simples; basicamente resume-se a descompactar os arquivos, adicionar o caminho do NAnt ao PATH nas variáveis de ambiente do Windows e depois copiar os arquivos do NAnt Contrib para alguns lugares específicos no diretório onde o NAnt está instalado. Tudo é explicado no site e/ou no arquivo readme.txt que se encontra na pasta do projeto ao descompactar, ou ainda no arquivo de documentação (\doc\help\introduction\installation.html). Feito isso, estaremos prontos para prosseguir.

Nota: Este artigo é baseando na versão 0.85 do NAnt que é a última versão estável. Ela suporta até o .NET Framework 2.0. Porém, já está disponível no site a versão 0.86-beta1 que suporta o .NET 3.5. No final do artigo está disponível o link para download do código de exemplo desse artigo utilizando as versões 0.85 do NAnt e NAnt Contrib. (.NET 2.0) e também da versão 0.86-beta1 do NAnt e NAnt Contrib. (.NET 3.5).

Entendendo a estrutura de arquivos de projeto do NAnt

Um arquivo de projeto do NAnt é representado pelo arquivo com extensão .build com formatação XML padrão. A estrutura base desse arquivo é representada na Listagem 1.


"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?