9. Agenda O que é Integração Contínua (IC) Jenkins Demo Boas práticas Passos seguintes
10. O que é Integração Contínua (IC) “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.” Martin Fowler
11. Típica arquitectura usado um servidor de IC Reports User 4 - Output 5.1 - Notify Failures Servidor IC Install Packages 1- Commit Source Control 5.2 - Deploy to 3 - Build and Test 2 - Poll for Changes Servers Build Scripts
25. Passos de um build script Limpardirectorias de output (garantir que se trabalha numa estrutura limpa) Actualizar/Construir base de dados Compilar código Correr testes automáticos Calcular coverage de testes automáticos Produzir relatórios Criar packages de instalação/actualização
26. Aprendizagens pessoais IC é tanto uma prática técnica como social Email on fail, not on success Do it early
27. Próximos Passos Process Phased build Continuous Deployment Build slaves Build Run tests Deploy database Test coverage
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.