FISL 11 - Integração Contínua com Hudson

4.066 visualizações

Publicada em

Palestra sobre Integração Contínua com Hudson, apresentada por Leandro Nunes, no FISL 11.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.066
No SlideShare
0
A partir de incorporações
0
Número de incorporações
758
Ações
Compartilhamentos
0
Downloads
91
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

FISL 11 - Integração Contínua com Hudson

  1. 1. Integração Contínua com Hudson Leandro Nunes [email_address] FISL 11
  2. 2. #whoami <ul><li>Leandro Nunes </li><ul><li>SCJP
  3. 3. Coordenador RSJUG - www.rsjug.org
  4. 4. Contato </li><ul><li>[email_address] </li></ul><li>Blog </li><ul><li>http://leandron.wordpress.com </li></ul></ul></ul>
  5. 5. Integração Contínua
  6. 6. Integração Contínua <ul><li>Proposta por Martin Fowler e Kent Beck
  7. 7. Associada à extreme programming e outras metodologias ágeis </li></ul>
  8. 8. Integração Contínua <ul><li>Estimula a equipe a integrar seu código no repositório </li><ul><li>Em porções menores
  9. 9. Frequentemente </li></ul></ul>
  10. 10. “ O segredo para solucionar um problema rapidamente, é encontrá-lo rapidamente.” (Martin Fowler)
  11. 11. Integração Contínua <ul><li>Aplicação de ferramentas de controle de qualidade ao código do repositório a cada integração </li><ul><li>Análise estática
  12. 12. Execução de teste automático
  13. 13. Geração de relatórios </li></ul></ul>
  14. 14. Integração Contínua <ul><li>Com as práticas da IC, é possível </li><ul><li>Detectar rapidamente os problemas de conflito de edição
  15. 15. Testar continuamente o impacto de mudanças no software e em outros módulos
  16. 16. Disponibilizar constantemente o “último build” para testes e demonstações </li></ul></ul>
  17. 17. Integração Contínua é acima de tudo um execício de comunicação
  18. 18. Integração Contínua Commit Checkout automático Reports Repositório
  19. 19. Integração Contínua <ul><li>Para facilitar o emprego das boas práticas da IC existem diversas ferramentas
  20. 20. Automação de tarefas de build </li><ul><li>Ant - http://ant.apache.org/
  21. 21. Maven 2 - http://maven.apache.org/ </li></ul></ul>
  22. 22. Integração Contínua <ul><li>Teste unitário </li><ul><li>jUnit - http://www.junit.org/
  23. 23. TestNG - http://testng.org/ </li></ul><li>Cobertura de Teste </li><ul><li>Cobertura - http://cobertura.sourceforge.net/
  24. 24. EMMA - http://emma.sourceforge.net/ </li></ul></ul>
  25. 25. Integração Contínua <ul><li>Análise de código </li><ul><li>PMD - http://pmd.sourceforge.net/
  26. 26. Checkstyle - http://checkstyle.sourceforge.net/
  27. 27. Findbugs - http://findbugs.sourceforge.net/
  28. 28. Hammurapi - http://www.hammurapi.biz/
  29. 29. DoctorJ - http://doctorj.sourceforge.net/
  30. 30. JCSC - http://jcsc.sourceforge.net/ </li></ul></ul>
  31. 31. Integração Contínua <ul><li>Métricas de código </li><ul><li>JavaNCSS - http://javancss.codehaus.org/
  32. 32. Jdepend - http://www.clarkware.com/software/JDepend.html </li></ul><li>Agregador de métricas </li><ul><li>Sonar - http://www.sonarsource.org/
  33. 33. XRadar - http://xradar.sourceforge.net/ </li></ul></ul>
  34. 34. Integração Contínua <ul><li>Frameworks de IC </li><ul><li>Continuum
  35. 35. CruiseControl
  36. 36. Hudson
  37. 37. Bamboo
  38. 38. TeamCity
  39. 39. BuildBot
  40. 40. AnthillPro
  41. 41. Automated Build Studio </li></ul></ul>
  42. 42. Hudson
  43. 43. Hudson <ul><li>Sistema automatizado de suporte à Integração Contínua </li><ul><li>Criado por Kohsuke Kawaguchi
  44. 44. Mantido por uma ativa comunidade de desenvolvedores </li></ul><li>Open-source
  45. 45. Extensível
  46. 46. Fácil instalação e utilização </li></ul>
  47. 47. $ cd diretorio/de/download $ java -jar hudson.war http://hudson-ci.org http://localhost:8080
  48. 48. Plugins <ul><li>Suportam todas as ferramentas citadas na apresentação e outras dezenas
  49. 49. Instalação facilitada em um clique </li></ul>
  50. 50. Demo <ul><li>Maven 2
  51. 51. SVN
  52. 52. Executar (e publicar os resultados...) </li><ul><li>JUnit
  53. 53. PMD/CPD
  54. 54. Checkstyle
  55. 55. Findbugs
  56. 56. JavaNCSS </li></ul></ul>
  57. 57. Detectando commit no SVN <ul><li>Edite os hooks do seu repositório </li><ul><li>post-commit </li></ul><li>Inclua uma chamada para a URL de build com wget </li><ul><li>http://localhost:8080/job/Project1/build?delay=0sec </li></ul><li>Fonte http://wiki.hudson-ci.org/display/HUDSON/Subversion+Plugin </li></ul>
  58. 58. Links interessantes <ul><li>Configuração de servidor SVN </li><ul><li>http://wiki.ubuntu-br.org/Subversion </li></ul><li>RSJUG </li><ul><li>http://www.rsjug.org </li></ul></ul>
  59. 59. Fim <ul><li>Perguntas ? </li></ul>Apareçam na palestra sobre OpenJDK 7 Hoje às 16h Sala FISL 5

×