Integração Contínua - Introdução

14
OPUS Research Group LES | DI |PUC-Rio - Brazil Leonardo da Silva Sousa – [email protected] INTEGRAÇÃO CONTÍNUA

description

Apresentação introdutória sobre integração contínua baseada no artigo de Martin Fowler.

Transcript of Integração Contínua - Introdução

Page 1: Integração Contínua - Introdução

OPUS Research Group

LES | DI |PUC-Rio - Brazil

Leonardo da Silva Sousa –[email protected]

INTEGRAÇÃO CONTÍNUA

Page 2: Integração Contínua - Introdução

Agenda

Introdução Integração Contínua

Objetivo Funcionamento Benefícios Boas Práticas Ferramentas

Roteiro Bibliografia

2Abril - 2014 Processo e Ambientes de ES

Page 3: Integração Contínua - Introdução

INTRODUÇÃO

Desenvolvimento de Software: Processo Complexo. Propenso a erros. Caro.

Ambientes de Apoio à produção: Diminuir o trabalho/custo. Aumentar o nível de confiabilidade. Não é o suficiente.

3Abril - 2014 Processo e Ambientes de ES

Page 4: Integração Contínua - Introdução

INTEGRAÇÃO CONTÍNUA

Prática de desenvolvimento de software.

Integração de trabalhos frequente.

Verificação mais rápida possível.

Automatização.

4Abril - 2014 Processo e Ambientes de ES

Page 5: Integração Contínua - Introdução

OBJETIVO

Evitar o caos.

Estimula a equipe a integrar seu código.

Encontrar e resolver problemas rapidamente.

Visão geral do produto.

5Abril - 2014 Processo e Ambientes de ES

Page 6: Integração Contínua - Introdução

FUNCIONAMENTO

Faço uma cópia: Check out do código. Cópia de trabalho. Sistema de Controle de Versão.

Implementação: Alterar o código. Teste automatizados.

Build automático: Inclui teste.

6Abril - 2014 Processo e Ambientes de ES

Page 7: Integração Contínua - Introdução

FUNCIONAMENTO (cont.)

Atualizo minha cópia de trabalho: Nova build. Corrigir erros. Sincronizada.

Commit

Build: Máquina de integração.

7Abril - 2014 Processo e Ambientes de ES

Page 8: Integração Contínua - Introdução

BENEFÍCIOS

Automatização de tarefas.

Facilmente é possível saber a saúde do projeto.

Código estável a qualquer momento.

Feedeback rápido: Facilidade em encontrar bugs. Report.

8Abril - 2014 Processo e Ambientes de ES

Page 9: Integração Contínua - Introdução

BOAS PRÁTICAS

Manter um único repositório de código.

Build: Automatizar. Auto-testável.

Cada um lança suas modificações todos os dias.

Automatize a Implantação do Sistema.

9Abril - 2014 Processo e Ambientes de ES

Page 10: Integração Contínua - Introdução

BOAS PRÁTICAS (cont.)

Cada commit: Atualizar o repositório principal. Máquina de integração.

Mantenha a Build rápida.

Teste em uma cópia do ambiente de produção.

Todos podem ver o que esta acontecendo.

10Abril - 2014 Processo e Ambientes de ES

Page 11: Integração Contínua - Introdução

FERRAMENTAS

Controle de versão CVS, Subversion, GIT

Automação de Build Ant, Maven, Make

Teste e Análise do código Junit, cobertura,PMD, Chekstyle, Findbugs Sonar – agregador de métricas

Servidores de IC Hudson/Jenkins, Bamboo, Continuum

11Abril - 2014 Processo e Ambientes de ES

Page 12: Integração Contínua - Introdução

ROTEIRO

Buscar trabalhos na área;

Fazer um levantamento das ferramentas;

Levantar os contras.

Aplicar um estudo de caso.

12Abril - 2014 Processo e Ambientes de ES

Page 13: Integração Contínua - Introdução

BIBLIOGRAFIA

Continuous Integration

M. Fowler and M. Foemmel

www.martinfowler.com/articles/continuousIntegration.html

10 de Setembro de 2000

13Abril - 2014 Processo e Ambientes de ES

Page 14: Integração Contínua - Introdução

Dúvidas

14Jul - 2013 [email protected]