Your SlideShare is downloading. ×
0
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Integração Contínua

1,616

Published on

Palestra apresentada no The Developers Conference 2010 (TDC2010) na trilha de Agile.

Palestra apresentada no The Developers Conference 2010 (TDC2010) na trilha de Agile.

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

No Downloads
Views
Total Views
1,616
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Integração no finalHá ilusão de impedir merges bloqueando alteração do mesmo arquivo fonteMerges de comportamento são também comuns
  • Atualização do trunk constante, mas integração no final
  • Integração mais frequente
  • Integração frequente
  • Integração contínua
  • Integração contínua com DCVS
  • Aliás, não precisamos de ferramentas
  • Único? E DCVS?Inclua tudoMáquina nova funciona de imediatoDiretórios de biblioteca são anti-patterns
  • ANT, NANT, MSBuild, Make, RakePartial buildsTeste a build automaticamentePartialtests
  • Diário no mínimoPor história?Por tarefa?Com DCVS o commit é local e é frequente.
  • Um build pode ser feito de múltiplos commits com DCVS
  • Pode?Pode!
  • Ambiente padronizadoPossui o básico para compilarLembre-se que no repositório único de código está tudo“Servidor de integração contínua”?
  • XP: build de dez minutos
  • Virtualização ajudaMantenha o ambiente sincronizado
  • Sistema desktop: binários em local conhecidoWeb:deploy em máquina de homologação conhecida
  • Visual Studio
  • TeamCity
  • Exemplo do Juan Lopes
  • Assim é mais fácil
  • Rollback quando necessário
  • Quality...
  • Transcript

    • 1. Integração Contínua<br />Giovanni Bassi<br />Consultor Independente | MVP | ScrumDeveloperTrainer | ScrumTrainer<br />giggio@giggio.net | unplugged.giggio.net | giovannibassi.com<br />
    • 2.
    • 3. Online @<br /><ul><li>Giovanni BassiEmail: giggio@giggio.netBlog: unplugged.giggio.netConsultoria: giovannibassi.comScrum Dev: scrumdev.com.brPodcast: tecnoretorica.com.brTwitter: @giovannibassi
    • 4. .Net ArchitectsGrupo: www.dotnetarchitects.netPodcast: podcast.dotnetarchitects.netOnline: tinyurl.com/DotNetArchDojo: dojo.dotnetarchitects.netTwitter: #DotNetArchitects@NetArchitects</li></ul>3<br />
    • 5. Agenda<br />
    • 6. Dev 1<br />Dev 2<br />Trunk (ou mainline)<br />
    • 7. Dev 1<br />Dev 2<br />Trunk (ou mainline)<br />
    • 8. Dev 1<br />Dev 2<br />Trunk (ou mainline)<br />
    • 9. Dev 1<br />Dev 2<br />Trunk (ou mainline)<br />
    • 10. Dev 1<br />Dev 2<br />Trunk (ou mainline)<br />
    • 11. Dev 1<br />Dev 2<br />1,2<br />3<br />1<br />2<br />1, 2, 3<br />Build Machine<br />1, 2, 3<br />3, 4, 5<br />Dev 3<br />Dev 4<br />4<br />4<br />5<br />
    • 12. Dev 1<br />Dev 2<br />Trunk (ou mainline)<br />
    • 13. Fluxo de trabalho<br />
    • 14. É uma prática, não uma ferramenta<br />
    • 15. Algumas práticas<br />
    • 16. Repositório único de código<br />
    • 17.
    • 18. Build automatizada<br />
    • 19. Frequência dos commits<br />
    • 20. Cada commit gera uma build... ou não?<br />
    • 21.
    • 22. O commit só termina quando o build é aceito<br />Outro dev<br />
    • 23. Pending Head<br />DelayedCommit<br />GatedCheckin<br />
    • 24. Build Manual?<br />
    • 25. Máquina de build<br />
    • 26. Build deve ser rápida<br />
    • 27. Use testes de fumaça<br />
    • 28. Build de 2 estágios<br />
    • 29. Teste em ambiente equivalente ao de produção<br />
    • 30. Acesso fácil ao resultado da build<br />
    • 31. Informações devem irradiar<br />
    • 32.
    • 33.
    • 34. Colocando em produção<br />
    • 35.
    • 36.
    • 37. Vai ter permitir ser mais ágil ...<br />
    • 38. ... e ter mais qualidade<br />
    • 39. Demo<br />
    • 40. Obrigado!<br />
    • 41. Online @<br /><ul><li>Giovanni BassiEmail: giggio@giggio.netBlog: unplugged.giggio.netConsultoria: giovannibassi.comScrum Dev: scrumdev.com.brPodcast: tecnoretorica.com.brTwitter: @giovannibassi
    • 42. .Net ArchitectsGrupo: www.dotnetarchitects.netPodcast: podcast.dotnetarchitects.netOnline: tinyurl.com/DotNetArchDojo: dojo.dotnetarchitects.netTwitter: #DotNetArchitects@NetArchitects</li></ul>40<br />

    ×