universidade federal de pernambuco ambiente para integração contínua rafael vanderlei de souza...
TRANSCRIPT
![Page 1: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/1.jpg)
Universidade Federalde Pernambuco
Ambiente para Integração Ambiente para Integração ContínuaContínua
Rafael Vanderlei de [email protected]
06/12/2008
Programa de Mestrado em Ciência da ComputaçãoIN1149 – Qualidade, Processos e Gestão
![Page 2: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/2.jpg)
Universidade Federalde Pernambuco
AgendaAgendaIntroduçãoAmbiente de CIPráticaConclusõesReferências
2
![Page 3: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/3.jpg)
Universidade Federalde Pernambuco
IntroduçãoIntrodução
3
![Page 4: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/4.jpg)
Universidade Federalde Pernambuco
DefiniçãoDefinição
“Integração contínua é uma prática de desenvolvimento de software onde os membros de uma equipe integram seu trabalho freqüentemente (pelo menos uma vez por dia). Cada integração passa por um processo de build automatizado (incluindo testes) para detectar erros de integração o mais cedo possível.”
Martin Fowler.
4
![Page 5: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/5.jpg)
Universidade Federalde Pernambuco
ObjetivosObjetivosAumentar a qualidade do software
◦ Testes automatizados◦ Inspeção automatizada
Reduzir riscos do projeto◦ Ter sempre um executável◦ Descobrir e corrigir erros rapidamente◦ Automatizar processos repetitivos e sujeitos a erros◦ Ter visibilidade do projeto facilmente
Tornar a integração um “nonevent”◦ Dedicar o tempo para tarefas mais importantes
5
![Page 6: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/6.jpg)
Universidade Federalde Pernambuco
ObjetivosObjetivosSe integrar fosse tão simples assim...
6
![Page 7: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/7.jpg)
Universidade Federalde Pernambuco
Visão GeralVisão Geral
7
A mágica por trás do botão Integrate...
![Page 8: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/8.jpg)
Universidade Federalde Pernambuco
Visão GeralVisão Geral
8
Processo típico de CI...
![Page 9: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/9.jpg)
Universidade Federalde Pernambuco
FerramentasFerramentas
9
![Page 10: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/10.jpg)
Universidade Federalde Pernambuco
Ambiente de CIAmbiente de CI
10
![Page 11: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/11.jpg)
Universidade Federalde Pernambuco
SubversionSubversion Sistema de controle de versão projetado para
resolver problemas existentes no CVS, como:◦ Falta de versionamento de diretórios;◦ Commits atômicos;◦ Entre outros.
Neste ambiente, o SVN será o repositório de código que será observado pelo servidor de Integração Contínua. ◦ Sempre que houver uma mudança neste repositório,
o servidor de CI irá gerar um novo build.
11
![Page 12: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/12.jpg)
Universidade Federalde Pernambuco
JUnitJUnitFramework para escrever testes unitários
repetitíveis.
Instância em Java da arquitetura xUnit para frameworks de testes unitários.
Neste ambiente, usaremos JUnit para escrever, executar e reportar os resultados de testes unitários.
12
![Page 13: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/13.jpg)
Universidade Federalde Pernambuco
CoberturaCoberturaFerramenta que executa uma análise
estática do código Java em busca de trechos de código que não estão sendo testados.
Neste ambiente, o Cobertura será utilizado para reportar os percentuais de código testado, buscando melhorar a qualidade dos testes escritos.
13
![Page 14: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/14.jpg)
Universidade Federalde Pernambuco
FindBugsFindBugsFerramenta que executa uma análise
estática do código Java em busca de potenciais problemas críticos, como:◦ Ocorrência garantida de NullPointerException;◦ Possível divisão por zero;◦ Possível loop infinito.
Neste ambiente, o FindBugs será utilizado para reportar possíveis erros que podem não ter sido detectados durante a execução de testes unitários.
14
![Page 15: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/15.jpg)
Universidade Federalde Pernambuco
PMDPMDFerramenta que executa uma análise
estática do código Java em busca de problemas menores, como:◦ Variáveis locais, atributos e métodos não utilizados;◦ Expressões muito complicadas, como ifs e loops
aninhados;◦ Duplicação de código.
Neste ambiente, o PMD será utilizado para reportar ocorrências como as anteriores, visando o aumento da qualidade do código.
15
![Page 16: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/16.jpg)
Universidade Federalde Pernambuco
MavenMavenFerramenta de compreensão e
gerenciamento de projetos.
Gerencia dependências, geração de build e criação de relatórios e de documentação sobre o projeto.
Neste ambiente, toda a configuração para a geração do build está centralizada no Maven .
16
![Page 17: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/17.jpg)
Universidade Federalde Pernambuco
HudsonHudsonServidor de Integração Contínua que vêm
sendo mais utilizado recentemente.
17
Fonte: http://www.wakaleo.com/polls/18-what-continuous-integration-server-are-you-using-in-2008
![Page 18: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/18.jpg)
Universidade Federalde Pernambuco
HudsonHudsonMonitora a execução de tarefas repetíveis,
como geração de build.
Permite agendar para gerar builds periodicamente ou apenas quando houver mudanças no repositório.
Permite fornecer feedback através de RSS, Email ou Instant Messaging
Possui gráficos que facilitam a visualização do status do projeto.
18
![Page 19: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/19.jpg)
Universidade Federalde Pernambuco
Prática...Prática...
19
![Page 20: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/20.jpg)
Universidade Federalde Pernambuco
PráticaPrática
20
![Page 21: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/21.jpg)
Universidade Federalde Pernambuco
PráticaPrática
21
![Page 22: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/22.jpg)
Universidade Federalde Pernambuco
PráticaPrática
22
![Page 23: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/23.jpg)
Universidade Federalde Pernambuco
PráticaPrática
23
![Page 24: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/24.jpg)
Universidade Federalde Pernambuco
PráticaPrática
24
![Page 25: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/25.jpg)
Universidade Federalde Pernambuco
PráticaPrática
25
![Page 26: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/26.jpg)
Universidade Federalde Pernambuco
PráticaPrática
26
![Page 27: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/27.jpg)
Universidade Federalde Pernambuco
PráticaPrática
27
![Page 28: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/28.jpg)
Universidade Federalde Pernambuco
PráticaPrática
28
![Page 29: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/29.jpg)
Universidade Federalde Pernambuco
PráticaPrática
29
![Page 30: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/30.jpg)
Universidade Federalde Pernambuco
PráticaPrática
30
![Page 31: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/31.jpg)
Universidade Federalde Pernambuco
PráticaPrática
31
![Page 32: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/32.jpg)
Universidade Federalde Pernambuco
PráticaPrática
32
![Page 33: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/33.jpg)
Universidade Federalde Pernambuco
PráticaPrática
33
![Page 34: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/34.jpg)
Universidade Federalde Pernambuco
PráticaPrática
34
![Page 35: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/35.jpg)
Universidade Federalde Pernambuco
ConclusõesConclusões
35
![Page 36: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/36.jpg)
Universidade Federalde Pernambuco
ConclusõesConclusõesCom um ambiente de Integração Contínua,
podemos deixar de nos preocuparmos com a geração manual de build.
Reduzimos os recursos que antes estavam alocados para realizar tarefas manuais e repetitivas.
Reduzimos os riscos associados à execução de tarefas repetitivas e sujeitas as erros.
36
![Page 37: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/37.jpg)
Universidade Federalde Pernambuco
ConclusõesConclusõesAumentamos a qualidade do produto,
utilizando ferramentas que automatizaram a execução de testes e a inspeção de código.
Reduzimos o tempo decorrido entre a detecção e a correção de falhas, com o rápido feedback gerado após a ocorrência de uma falha.
37
![Page 38: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/38.jpg)
Universidade Federalde Pernambuco
ReferênciasReferências
38
![Page 39: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/39.jpg)
Universidade Federalde Pernambuco
ReferênciasReferências Fowler, Martin. Continuous Integration.
◦ Disponível em http://martinfowler.com/articles/continuousIntegration.html .
◦ Último acesso em 30 de novembro de 2008. Duvall, Paul. Continuous Integration – Improving
Software Quality and Reducing Risk. Addison-Wesley, 2007.
Integração Contínua. Rafael Vanderlei – Apresentação de Seminário da disciplina de Qualidade do Mestrado no Cin/UFPE, 2008.2.
Hudson Home◦ Disponível em https://hudson.dev.java.net/ .◦ Último acesso em 30 de novembro de 2008.
39
![Page 40: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/40.jpg)
Universidade Federalde Pernambuco
ReferênciasReferências Subversion Home
◦ Disponível em http://subversion.tigris.org.◦ Último acesso em 30 de novembro de 2008.
Maven Home◦ Disponível em http://maven.apache.org/ .◦ Último acesso em 30 de novembro de 2008.
Findbugs Home◦ Disponível em http://findbugs.sourceforge.net/.◦ Último acesso em 30 de novembro de 2008.
PMD Home◦ Disponível em http://pmd.sourceforge.net/.◦ Último acesso em 30 de novembro de 2008.
40
![Page 41: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/41.jpg)
Universidade Federalde Pernambuco
ReferênciasReferências JUnit Home
◦ Disponível em http://www.junit.org/.◦ Último acesso em 30 de novembro de 2008.
Cobertura Home◦ Disponível em http://cobertura.sourceforge.net/.◦ Último acesso em 30 de novembro de 2008.
Jabber Home◦ Disponível em http://www.jabber.org/.◦ Último acesso em 30 de novembro de 2008.
41
![Page 42: Universidade Federal de Pernambuco Ambiente para Integração Contínua Rafael Vanderlei de Souza rvs@cin.ufpe.br 06/12/2008 Programa de Mestrado em Ciência](https://reader035.vdocuments.site/reader035/viewer/2022062522/570638651a28abb823901d0e/html5/thumbnails/42.jpg)
Universidade Federalde Pernambuco
Ambiente para Integração Ambiente para Integração ContínuaContínua
Obrigado!Rafael Vanderlei de Souza
Programa de Mestrado em Ciência da ComputaçãoIN1149 – Qualidade, Processos e Gestão