Olá a todos!!!! Aqui está mais um artigo da saga. Neste artigo estarei explicando as principais configurações para implementar a Integração Contínua no seu projeto. Primeiramente, <a href="http://www.lagix.com.br/2011/04/integracao-continua-cruisecontrolnet.html">após ter instalado o servidor CruiseContro.NET</a>, vamos abrir o arquivo ccnet.config que está na pasta server do CCNet.
Este arquivo apresenta a seguinte estrutura:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> </cruisecontrol>
Entre estas tags é que iremos configurar nosso projeto. Então vamos começar a criar o projeto, abaixo está um exemplo de como ficará a configuração após a criação do projeto:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="Nome do Projeto"></project>
</cruisecontrol>
Agora o projeto está criado, porém não irá funcionar. Temos que configurar o repositório do Subversion e o intervalo que o servidor verificará o Subversion a existência de novas versões. A configuração firacá parecida com abaixo:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="Nome do Projeto"></project>
<weburl>http://IP/ProjetoNoSubversion</weburl>
<triggers>
<intervaltrigger>
<buildcondition>IfModificationExists</buildcondition>
<seconds>10</seconds>
<name>IntervalTrigger</name>
</intervaltrigger>
</triggers>
</cruisecontrol>
webURL - URL de onde está o projeto Subversion;
triggers - Tag para a configuração do intervalo de execução da integração;
intervalTrigger - Tag que define que a integração será executada em intervalos de um determinado período. Existem outras possibilidades de que podem ser conferidas aqui;
buildCondition - Condição para o início da execução da integração, neste caso a integração somente será executada quando existir uma modificação no código;
seconds - Configura o tempo do intervalo, neste caso a integração verificará a cada 10 segundos a existência de um código alterado/novo para poder inicializar a execução da integração.
Agora já sabemos onde está o código fonte do nosso projeto, agora temos que definir uma pasta que será baixados os fontes para o servidor de integração contínua executar o processo de build, testes e etc.; para isso vamos acrescentar mais uma tag na configuração, como é vista abaixo:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="Nome do Projeto"></project>
<weburl>http://IP/ProjetoNoSubversion</weburl>
<triggers>
<intervaltrigger>
<buildcondition>IfModificationExists</buildcondition>
<seconds>10</seconds>
<name>IntervalTrigger</name>
</intervaltrigger>
</triggers>
<workingdirectory>C:\MeuProjeto</workingdirectory>
</cruisecontrol>
Agora, estamos quase prontos, mas primeiro temos que configurar o build (que será explicado mais adiante) e os relatórios. Veja a configuração abaixo, as tags destacadas serão explicadas mais a frente, nelas iremos chamar o build do projeto. Agora iremos publicar os relatórios no CruiseControl.NET, veja a configuração abaixo:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="Nome do Projeto"></project>
<weburl>http://IP/ProjetoNoSubversion</weburl>
<triggers>
<intervaltrigger>
<buildcondition>IfModificationExists</buildcondition>
<seconds>10</seconds>
<name>IntervalTrigger</name>
</intervaltrigger>
</triggers>
<workingdirectory>C:\MeuProjeto</workingdirectory>
<b><task></task></b>
<b> </b>
<publishers></publishers>
<statistics>
<xmllogger>
<modificationhistory>
<modificationwriter> </modificationwriter></modificationhistory></xmllogger></statistics>
</cruisecontrol>
<b>xmllogger</b> - Exibe o log da execução do processo de integração;
<b>modificationHistory</b> - Exibe o histórico de modifações do código;
<b>modificationWriter</b> - Exibe o usuário, do Subversion, que fez a alteração;
Caso você queira inserir um arquivo, XML, externo para compor o relatório insira as seguintes tags, como se pode ver abaixo:
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="Nome do Projeto"></project>
<weburl>http://IP/ProjetoNoSubversion</weburl>
<triggers>
<intervaltrigger>
<buildcondition>IfModificationExists</buildcondition>
<seconds>10</seconds>
<name>IntervalTrigger</name>
</intervaltrigger>
</triggers>
<workingdirectory>C:\MeuProjeto</workingdirectory>
<task></task>
<publishers></publishers>
<merge>
<files>
<file>C:\Diretorio\relatorio.xml</file>
</files>
</merge>
<statistics>
<xmllogger>
<modificationhistory>
<modificationwriter>
</cruisecontrol>
IMPORTANTE: Uma coisa que tem ficar bem claro, a tag merge tem que ser a primeira dentro da publishers, caso contrário não será exibido o seu relatório.
Com isso terminamos (em partes, falta o build) a configuração do projeto. Até a próxima.
Integração Contínua - Configurando seu projeto
Assinar:
Postar comentários (Atom)

Lagix by Bruno Lage is licensed under a Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.

Nenhum comentário:
Postar um comentário