If you can't read please download the document
Upload
leandro-nunes
View
4.240
Download
1
Embed Size (px)
DESCRIPTION
Tutorial ministrado por Leandro de Morais Nunes, no JUGDay 2009, promovido pelo RSJUG. Evento realizados em 24/10/2009 em Porto Alegre/RS.http://leandron.wordpress.com
Citation preview
2. Tpicos
3. Boas prticas da Integrao Contnua (IC) 4. Ferramentas 5. Desenvolvimento do projeto prtico 6. Consideraes finais 7. #whoami
8. Programador Java (SCJP 5) 9. Formado em Cincia da Computao (PUCRS) 10. Mestrando em Microeletrnica (UFRGS) 11. Blog
12. Introduo 13. Introduo
14. Tenta assegurar que teremos sempre uma verso consolidada e compilvel de nosso cdigo, preferencialmente, em umrepositrio 15. Introduo
16. Introduo
Repositrio CVS SVN Mercurial Git ... commits checkouts, updates 17. Introduo
18. Como assegurar que em um determinado momento o cdigo do repositrio...
19. Compila ? 20. Est testado ? 21. Boas prticas da Integrao Contnua 22. Boas prticas da IC
23. Tudo que voc precisa para ter um produto a partir de seu cdigo deve estar no repositrio! 24. Boas prticas da IC
25. importante facilitar e tornar essas tarefas automatizadas e de fcil acesso aos interessados 26. Martin Fowler afirma:se essas tarefaspodemser automatizadas... entodevemser automatizadas 27. Boas prticas da IC
28. A execuo de testes automatizados no processo de build um passo fortemente recomendado para IC 29. Ferramenta *Unit so ideais para esse tipo de teste 30. Boas prticas da IC
31. Objetiva reduzir o tempo entre o desenvolvimento e o teste 32. Reduz o nmero de pontos a serem revistos na ocorrncia de uma falha de build 33. Martin Fowler diz:O segredo parasolucionarum problema de conflito rapidamente, encontr-lorapidamente 34. Boas prticas da IC
35. Faz chackout dos fontes atualizados do repositrio 36. Efetua o processo de build 37. Boas prticas da IC
38. De que adianta realizar a integrao a cada commit se o build levar 2h para terminar ? 39. Tempomximode build recomendado:10 minutos 40. Build de 2 estgios
41. 2: Executa testes demorados e reporta os resultados 42. Boas prticas da IC
43. Esses ambientes podem ser caros! 44. Uma tendncia o uso de sistemas virtualizados para testes automatizados 45. Boas prticas da IC
46. Para testes exploratrios 47. Esse executvel deve ter passados nos testes unitrios para ser considerado um produto vlido 48. Defina um lugar comum, que todos possam acessar 49. Automatize a substituio do executvel mais atual 50. Boas prticas da IC
51. Podem ser utilizado sistema visuais externos (luzes, displays, ) 52. Informao mais comum que propagada entre os desenvolvedores:
53. Boas prticas da IC
54. Em produo Reduz o impacto (custo e tempo) da troca de verso em ambientes de produo 55. Aproxima os usurios da equipe de desenvolvimento 56. Considere um rollback automtico 57. Ferramentas 58. Ferramentas para IC
59. Baseada em um modelo de conveno sobre configurao 60. Utiliza repositrios para download de ferramentas e plugins comuns 61. Easy-to-use 62. Facilita a tarefa de configurao de ferramentas pois sabe de antemo a localizao de seus requisitos 63. Ferramentas para IC
64. Busca por padres de cdigo que sejam potenciais erros 65. Possui centenas de padres conhecidos 66. Trabalha tanto com o byte code quanto com cdigo-fonte 67. Ferramentas para IC
68. Blocos vazios 69. Variveis no usadas 70. Uso indevido de String em detrimento ao uso de StringBuffer 71. Cdigos com alta Complexidade Ciclomtica 72. Ferramentas para IC
73. Busca por cdigo duplicado ( o acrnimo para Copy and Paste Detector ) 74. Pode utilizar uma linguagem intermediria para que a simples troca de nomes de variveis no o engane 75. Possui algumas alternativas pagas como o Simian (Similarity Analyser) 76. Ferramentas para IC
77. Gera um relatrio com todas as violaes encontradas 78. Ferramentas para IC
79. Contabiliza mtodos com JavaDoc ( importantssimo! ) 80. Calcula a Complexidade Ciclomtica dos mtodos 81. Ferramentas para IC
82. Oferece grficos 83. Desenvolvedor do ms (???), aquele cara que enviou maior nmero de linhas para o repositrio 84. Ferramentas para IC
85. Tempo de execuo 86. Resultado da execuo dos testes 87. Keep the bar green to keep the code clean 88. Ferramentas para IC
89. timo indicador de qualidade 90. Utiliza o JavaNCSS 91. Ferramentas para IC
92. Detecta coberturas parciais de uma linha 93. O usurio pode informar um nvel mnimo de cobertura para e ser alertado quando esse nvel no for atingido 94. Possibilita merge de relatrios de instrumentao 95. Ferramentas para IC
96. Recursos bsicos
97. Execuo de taks de ferramentas de automao de projetos (ANT, Maven) 98. Execuo de ferramentas de teste, mtricas, verificao esttica 99. Aes ps-build (publicao de relatrios, envio de e-mail) 100. Ferramentas para IC
101. Fcil instalao 102. Integrado s principais ferramentas de IC 103. Integrado aos principais sistemas de versionamento 104. No utiliza banco de dados 105. Extensvel 106. Ferramentas de IC 107. Tpicos
108. Boas prticas da Integrao Contnua (IC) 109. Ferramentas 110. Desenvolvimento do projeto prtico 111. Consideraes finais 112. Parte 2 Desenvolvimento do Projeto Prtico 113. Projeto Prtico
Ingredientes
114. 01 Hudson 115. 01 Maven 116. 01 NetBeans 117. Plugins gosto 118. Projeto Prtico
119. Links para downloads das ferramentas tambm 120. No fique com dvidas, pergunte! 121. Projeto Prtico
Faa o download do hudson.war 122. Execute 123. #java -jar hudson.war 124. Projeto Prtico
125. Fonte
126. . true http proxy.somewhere.com 8080 proxyuser somepassword www.google.com . ~/.m2/settings.xml 127. Projeto Prtico
128. Configurando o repositrio 129. Implementando algum cdigo 130. Adicionando suporte integrao contnua 131. Instalando plugins 132. Publicando os resultados 133. Fazendo poll peridico no SVN 134. Consideraes Finais 135. Consideraes Finais
Sua equipe estar constantemente atualizada sobre o estado do projeto 136. No nos livra do surgimento de bugs mas reduz consideravelmente o tempo gasto para encontr-los e corrig-los 137. Consideraes Finais
138. Implantar integrao contnua em um projeto no ocorre da noite para o dia.
139. Considere ir mudandogradativamentea forma como as coisas so feitas no seu projeto 140. Onde buscar mais informaes ?
Lista do RSJUG
141. [email_address] 142. Links Interessantes
Material de Apoio desse tutorial
Hudson
Meu Blog
143. Integrao Contnua com Hudson Obrigado! Leandro de Morais Nunes [email_address] Tutorial apresentado no JUGDay 2009 Porto Alegre/RS http://jugday.rsjug.org