http://netponto.org<br />Reunião Presencial - 12/02/2011<br />Integração Contínua com o HudsonJenkins para Aplicações .NET...
Patrocinador desta reunião<br />
Bruno Lopes<br />
Integração Contínua<br />
Agenda<br />O que é Integração Contínua (IC)<br />Jenkins<br />Demo<br />Boas práticas<br />Passos seguintes<br />
O que é Integração Contínua (IC)<br />“Continuous Integration is a software development practice where members of a team i...
Típica arquitectura usado um servidor de IC<br />Reports<br />User<br />4 - Output<br />5.1 - Notify Failures<br />Servido...
Implementações de servidores de IC<br />Open Source / Free<br />Comerciais<br />
O que é Jenkins<br />Servidor de IC<br />Feito em java<br />Simples<br />Extensível<br />Configuração via web<br />Mas com...
Exemplos de SCM suportados<br />SVN<br />Git<br />Mercurial<br />SourceSafe<br />ClearCase<br />
Build scripts<br />Batchfiles<br />Powershell<br />Psake<br />MSBuild<br />NAnt<br />Rake<br />Scons<br />FinalBuilder<br />
Plugins Hudson – 1 Ano Atrás<br />
Plugins Jenkins – Esta semana<br />
Como Começar<br />1 PC (ou VM)<br />1 Project.sln<br />1 Jenkins<br />1 Source Control System<br />
Jenkins + SVN<br />demonstração<br />
Material Usado<br />Windows Server 2003<br />Project.sln<br />Jenkins<br />Slik-SVN<br />Windows SDK 6.1<br />Java Runtime...
Boas práticas<br />Não deixar builds quebradas<br />Toda equipa responsável pelo build process<br />Information Radiator<b...
Gráficos “de borla”<br />
Passos de um build script<br />Limpardirectorias de output (garantir que se trabalha numa estrutura limpa)<br />Actualizar...
Aprendizagens pessoais<br />IC é tanto uma prática técnica como social<br />Email on fail, not on success<br />Do it early...
Próximos Passos<br />Process<br />Phased build<br />Continuous Deployment<br />Build slaves<br />Build<br />Run tests<br /...
Questões?<br />
Referências<br />Jenkins<br />http://Jenkins-ci.org/<br />SlikSvn<br />http://www.sliksvn.com/en/download<br />Continuous ...
Patrocinador desta reunião<br />
Obrigado!<br />Bruno Lopes<br />brunomlopes@gmail.com<br />http://www.brunomlopes.com<br />http://twitter.com/brunomlopes<...
Upcoming SlideShare
Loading in …5
×

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

5,381 views

Published on

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

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,381
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
57
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • 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!
  • 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 />

    ×