http://netponto.org<br />9ª Reunião Presencial - 24/04/2010<br />Integração Contínua com o Hudson para Aplicações .NETBrun...
Bruno Lopes<br />
Integração Contínua<br />
Agenda<br />O que é Integração Contínua (IC)<br />Hudson<br />Demo<br />Boas Práticas<br />Próximos Passos<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 é Hudson<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 />TFS<br />SVN<br />Git<br />Mercurial<br />Visual 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<br />
Como Começar<br />1 PC (ou VM)<br />1 Project.sln<br />1 Hudson<br />1 Source Control System<br />
Hudson + Visual SourceSafe<br />demonstração<br />
Material Usado<br />Windows Server 2003 SP5<br />.NET Framework 3.5 SP1<br />Project.sln<br />Hudson<br />Visual SourceSaf...
Hudson + Visual Source Safe (VSS)<br />
Hudson + Subversion<br />demonstração<br />
Hudson + Subversion (SVN)<br />
Boas Práticas<br />Não deixar builds quebradas<br />Toda equipa responsável pelo build process<br />Information Radiator<b...
Passos comuns de um Build Script<br />Limpardirectorias de output (garantir que se trabalha numa estrutura limpa)<br />Act...
Aprendizagens Pessoais<br />IC é tanto uma prática técnica como social<br />Email on fail, not on success<br />
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 />Hudson<br />http://hudson-ci.org/<br />http://blog.hudson-ci.org/<br />SlikSvn<br />http://www.sliksvn.co...
Patrocinadores desta reunião<br />
Próximas reuniões presenciais<br />24/04/2010 - Abril<br />15/05/2010 - Maio<br />19/06/2010 - Junho<br />26/06/2010 - Jun...
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 Hudson para Aplicações .NET

3,146 views
3,046 views

Published on

Apresentação sobre Integração continua, que é a prática de regularmente integrar o código desenvolvido por uma equipa, tanto localmente em cada máquina de desenvolvimento, como automaticamente num ponto central. Com Hudson é possivel tirar partido das vantagens desta prática num ambiente .NET com o minimo de investimento inicial. Com apenas um ficheiro contendo todo o Hudson, uma solução de Visual Studio e um repositório de Subversion podemos montar uma versão simples de uma máquina de integração continua que monitoriza o repositório e compila a solução com as alterações que vão sendo gravadas. Boas práticas, vantagens e extensibilidade do Huson, possibilidades de evolução de integração continua, acabando numa demonstração de capacidades mais avançadas para resolver alguns pontos comuns de dor, na 9ª reunião presencial da comunidade NetPonto

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

  • Be the first to like this

No Downloads
Views
Total views
3,146
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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
  • Ainda são alguns...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!
  • Look Ma! No visual studio!
  • Exemplo de um information radiator
  • Look Ma! No visual studio!
  • Look Ma! No visual studio!
  • Look Ma! No visual studio!
  • Integração Contínua com o Hudson para Aplicações .NET

    1. 1. http://netponto.org<br />9ª Reunião Presencial - 24/04/2010<br />Integração Contínua com o Hudson para Aplicações .NETBruno Lopes<br />
    2. 2. Bruno Lopes<br />
    3. 3. Integração Contínua<br />
    4. 4.
    5. 5. Agenda<br />O que é Integração Contínua (IC)<br />Hudson<br />Demo<br />Boas Práticas<br />Próximos Passos<br />
    6. 6. 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 />
    7. 7. 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 />
    8. 8. Implementações de servidores de IC<br />Open Source / Free<br />Comerciais<br />
    9. 9. O que é Hudson<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 />
    10. 10. Exemplos de SCM suportados<br />TFS<br />SVN<br />Git<br />Mercurial<br />Visual SourceSafe<br />ClearCase<br />
    11. 11. Build scripts<br />Batchfiles<br />Powershell<br />Psake<br />MSBuild<br />NAnt<br />Rake<br />Scons<br />FinalBuilder<br />
    12. 12. Plugins Hudson<br />
    13. 13. Como Começar<br />1 PC (ou VM)<br />1 Project.sln<br />1 Hudson<br />1 Source Control System<br />
    14. 14. Hudson + Visual SourceSafe<br />demonstração<br />
    15. 15. Material Usado<br />Windows Server 2003 SP5<br />.NET Framework 3.5 SP1<br />Project.sln<br />Hudson<br />Visual SourceSafe<br />Windows SDK<br />Java Runtime Environment<br />
    16. 16. Hudson + Visual Source Safe (VSS)<br />
    17. 17. Hudson + Subversion<br />demonstração<br />
    18. 18. Hudson + Subversion (SVN)<br />
    19. 19. 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 />
    20. 20.
    21. 21. Passos comuns 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 />
    22. 22. Aprendizagens Pessoais<br />IC é tanto uma prática técnica como social<br />Email on fail, not on success<br />
    23. 23. 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 />
    24. 24. Questões?<br />
    25. 25. Referências<br />Hudson<br />http://hudson-ci.org/<br />http://blog.hudson-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 />
    26. 26. Patrocinadores desta reunião<br />
    27. 27. Próximas reuniões presenciais<br />24/04/2010 - Abril<br />15/05/2010 - Maio<br />19/06/2010 - Junho<br />26/06/2010 - Junho (Porto?)<br />10/07/2010 - JulhoReserva estes dias na agenda! :)<br />
    28. 28. Obrigado!<br />Bruno Lopes<br />brunomlopes@gmail.com<br />http://www.brunomlopes.com<br />http://twitter.com/brunomlopes<br />

    ×