4.6.11. Integração Contínua

4.6.11. Integração Contínua

Consiste em integrar o trabalho diversas vezes ao dia, assegurando através dos testes principalmente, que a base de código permaneça consistente ao final de cada integração [IMPROVE IT, XP].

O código deve ser integrado logo após qualquer nova implementação, mantendo no máximo um intervalo de poucas horas. Um modo simples de fazer isso é ter uma máquina dedicada para integração. Quando a máquina estiver livre, um par com código a integrar ocupa a máquina, carrega a versão corrente do sistema, carrega as alterações que fizeram, resolve possíveis colisões, e rodam os testes até que todos eles passem. Assim todos sempre sabem quando podem ou não integrar e garante-se um processo serial de integração.

O processo serial em conjunto com o intervalo pequeno entre implementação e integração, torna mínimo o risco de dois pares editarem o mesmo código e gerarem versões conflituosas, mas mesmo quando isso ocorre, é fácil perceber com a ajuda de algumas ferramentas e resolver através do dialogo.

Para garantir a eficácia da integração contínua, existem duas ferramentas básicas fundamentais.

· Ferramentas de Build

Usadas agilizar o build de um sistema, através da automatização de tarefas como: compilação do código do sistema; compilação e execução dos testes unitários e de aceitação; geração de relatórios dos testes, de cobertura e de análise estática do código; quaisquer outras atividades que sejam definidas como necessárias para o build. Exemplos: Ant para Java e NAnt para .Net.

· Ferramentas de controle de versão

Armazena e mantém a versão de todo o código fonte do sistema. Também conhecida por repositório, automatiza tarefas como: Identificação de mudanças locais; Exibição das diferenças entre o código de um arquivo local e uma de suas versões armazenadas no repositório; Identificação de quem realizou uma determinada alteração; Incorporação de uma mudança em um arquivo local a uma versão do mesmo arquivo armazenada no repositório; Sincronizar o código local com uma das versões do sistema ou de um arquivo armazenadas no repositório. Exemplos: Subversion, CVS.

[TELES, 2004]

O importante é que as alterações só podem ser integradas se não gerarem nenhum erro e que o processo de integração seja muito dinâmico. Por isso é fundamental que todo o código do sistema esteja coberto por testes automatizados, e que se use ferramentas que simplificam e automatizam o processo de integração continua, como o Ant e Subversion.

\o ‘s,
ViniciusAC.

Anúncios

4 comentários sobre “4.6.11. Integração Contínua

  1. lucimarabenigno disse:

    Opa, muito massa esse conteúdo. Estava precisando mesmo de algo assim, pois aqui no trampo estamos precisando fazer uma integração contínua. Será q vc nao tem mais conteúdo sobre este assunto?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s