Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Royal Flush com Continuous Integration (Rails for Kids '09)

1,712 views

Published on

Palestra ministrada dia 12 de setembro de 2009 (2009-09-12) no Rails for Kids 2009.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Royal Flush com Continuous Integration (Rails for Kids '09)

  1. 1. ROYAL FLUSH COM CONTINUOUS INTEGRATION Júlio Monteiro <julio@monteiro.eti.br> 12 de Setembro de 2009
  2. 2. QUEM SOU EU? • Ruby on Rails desde 2006 • Instrutor de cursos e palestras sobre Ruby & Rails • Arquiteto de Software da Euax Gestão de Projetos
  3. 3. O QUE É CI? • Metodologia de desenvolvimento (enriquecedor) • Build automatizado • Disparado por commits no SCM (git, hg, bzr, svn & friends)
  4. 4. BUILD PERFEITA • “Testar testes” (RSpec, Cucumber?) • Testar deploy para plataformas-alvo (capistrano?) • Verificar sincronia com Banco de Dados (db:migrate?) • Relatório de métricas (metric_fu?) • Gerar documentação completa do software (RDoc?) • Inspeção de log (grep “warning” log/test.log?)
  5. 5. CI BUSCA REDUZIR: • Correção tardia de bugs (muito mais caro!) • Confusão interna no time (merge party) • Código de baixa qualidade (TAFT) • Visibilidade sobre o código • Deployment (“mas funciona na minha máquina”)
  6. 6. COM CI VOCÊ SEMPRE PODE... Culpar alguém!
  7. 7. CI VERSUS NB Nightly Builds é periódica, geralmente pela noite. Continuous Integration é on-demand, teoricamente a cada commit.
  8. 8. FERRAMENTAS DE CI (1/2) • RunCodeRun (Hosted) • Hudson (Java) • CruiseControl (Java) • CruiseControl.NET (.Net) • Cruise (“Enterprise”)
  9. 9. FERRAMENTAS DE CI (2/2) • CruiseControl.rb • Cerberus • Integrity • C.I. Joe • Git hooks

×