Successfully reported this slideshow.

Integração Contínua com o Jenkins para Aplicações .NET

7

Share

1 of 32
1 of 32

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Integração Contínua com o Jenkins para Aplicações .NET

  1. 1. http://netponto.org<br />Reunião Presencial - 12/02/2011<br />Integração Contínua com o HudsonJenkins para Aplicações .NETBruno Lopes<br />
  2. 2. Patrocinador desta reunião<br />
  3. 3. Bruno Lopes<br />
  4. 4.
  5. 5.
  6. 6.
  7. 7. Integração Contínua<br />
  8. 8.
  9. 9. Agenda<br />O que é Integração Contínua (IC)<br />Jenkins<br />Demo<br />Boas práticas<br />Passos seguintes<br />
  10. 10. O que é Integração Contínua (IC)<br />“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.”<br />Martin Fowler<br />
  11. 11. Típica arquitectura usado um servidor de IC<br />Reports<br />User<br />4 - Output<br />5.1 - Notify Failures<br />Servidor IC <br />Install <br />Packages<br />1- Commit<br />Source <br />Control<br />5.2 - Deploy to<br />3 - Build <br />and Test<br />2 - Poll for<br />Changes<br />Servers<br />Build <br />Scripts<br />
  12. 12. Implementações de servidores de IC<br />Open Source / Free<br />Comerciais<br />
  13. 13. O que é Jenkins<br />Servidor de IC<br />Feito em java<br />Simples<br />Extensível<br />Configuração via web<br />Mas com suporte para linha de comandos<br />
  14. 14. Exemplos de SCM suportados<br />SVN<br />Git<br />Mercurial<br />SourceSafe<br />ClearCase<br />
  15. 15. Build scripts<br />Batchfiles<br />Powershell<br />Psake<br />MSBuild<br />NAnt<br />Rake<br />Scons<br />FinalBuilder<br />
  16. 16. Plugins Hudson – 1 Ano Atrás<br />
  17. 17. Plugins Jenkins – Esta semana<br />
  18. 18. Como Começar<br />1 PC (ou VM)<br />1 Project.sln<br />1 Jenkins<br />1 Source Control System<br />
  19. 19. Jenkins + SVN<br />demonstração<br />
  20. 20. Material Usado<br />Windows Server 2003<br />Project.sln<br />Jenkins<br />Slik-SVN<br />Windows SDK 6.1<br />Java Runtime Environment<br />notepad2<br />
  21. 21.
  22. 22. Boas práticas<br />Não deixar builds quebradas<br />Toda equipa responsável pelo build process<br />Information Radiator<br />Manter build rápida<br />
  23. 23.
  24. 24. Gráficos “de borla”<br />
  25. 25. Passos de um build script<br />Limpardirectorias de output (garantir que se trabalha numa estrutura limpa)<br />Actualizar/Construir base de dados<br />Compilar código<br />Correr testes automáticos<br />Calcular coverage de testes automáticos<br />Produzir relatórios<br />Criar packages de instalação/actualização <br />
  26. 26. Aprendizagens pessoais<br />IC é tanto uma prática técnica como social<br />Email on fail, not on success<br />Do it early<br />
  27. 27. Próximos Passos<br />Process<br />Phased build<br />Continuous Deployment<br />Build slaves<br />Build<br />Run tests<br />Deploy database<br />Test coverage<br />
  28. 28.
  29. 29. Questões?<br />
  30. 30. Referências<br />Jenkins<br />http://Jenkins-ci.org/<br />SlikSvn<br />http://www.sliksvn.com/en/download<br />Continuous Integration, Martin Fowler<br />http://martinfowler.com/articles/continuousIntegration.html<br />Continuous Deployment at IMVU<br />http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/<br />http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/<br />
  31. 31. Patrocinador desta reunião<br />
  32. 32. Obrigado!<br />Bruno Lopes<br />brunomlopes@gmail.com<br />http://www.brunomlopes.com<br />http://twitter.com/brunomlopes<br />

Editor's Notes

  • Eu.Mas antes de mais, show of hands....
  • http://en.wikipedia.org/wiki/Extreme_programming_practiceshttp://www.extremeprogramming.org/rules.html
  • Git: http://git-scm.com/msysGit (git para windows) : http://code.google.com/p/msysgit/Git Extensions (gui para git em windows): http://sourceforge.net/projects/gitextensions/Tortoise SVN : http://tortoisesvn.tigris.org/Mercurial : http://mercurial.selenic.com/
  • http://jenkins-ci.org/http://www.jetbrains.com/teamcity/Go:http://www.thoughtworks-studios.com/go-agile-release-management
  • Esta apresentação bebe do que leio sobre melhores práticas e da minha aprendizagem pessoalGostava de ouvir as vossas opiniões e práticas
  • Psake - http://code.google.com/p/psake/Rake - http://rake.rubyforge.org/Scons - http://www.scons.org/FinalBuilder - http://www.finalbuilder.com/ Este é tambem um servidor de IC
  • 1 ano atras, quando fiz pela primeira vez esta apresentação, já havia “alguns” plugins para Hudson...
  • Esta semana existe quase o dobro.Tem até plugins para nazbaztagArtifact Uploaders upload por scp, svn, reports htmlAuthentication and User Management Inclui AD, AuditsBuild Notifiers Email, Campfire, irc, google calendar, nabaztag, sounds, twitter, jabberBuild Reports MSTest, xUnit, warnings, nunitBuild Tools powershell, ruby, nant,
  • PC ou VM convem não ser a máquina de um dev (para evitar situações de “builds on my machine”)
  • Look Ma! No visual studio!Windows SDK só para .net
  • Mudar agora para a vm (quejádeviaestar a correr…)
  • Look Ma! No visual studio!
  • Exemplo de um information radiator
  • Exemplo de um dos gráficos que têm logo de borla.Mostra a progressão do tempo que demora uma buildNeste caso é o nosso “producto”
  • Do it early tem a ver com nós termos metido um branch a ser integrado depois de tarmos a trablahar nele, e agora é mais complicado de perceber o que está a quebrar.
  • Look Ma! No visual studio!
  • Look Ma! No visual studio!
  • ×