• Save
Integracao Continua com CruiseControl
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Integracao Continua com CruiseControl

on

  • 4,689 views

Apresentação realizada no Café com Tapioca de 17/05/2008.

Apresentação realizada no Café com Tapioca de 17/05/2008.

Statistics

Views

Total Views
4,689
Views on SlideShare
4,613
Embed Views
76

Actions

Likes
4
Downloads
1
Comments
0

5 Embeds 76

http://luthiano.com 65
http://www.slideshare.net 8
http://wildfire.gigya.com 1
http://lj-toys.com 1
http://l.lj-toys.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Integracao Continua com CruiseControl Presentation Transcript

  • 1. Integração Contínua com CruiseControl Luthiano Vasconcelos [email_address]
  • 2. Objetivos
    • Apresentar os conceitos fundamentais relacionados as práticas de Integração Contínua.
    • Demonstrar com o CruiseControl pode ser usado para implementar as práticas de Integração Contínua em projetos Java.
  • 3. Material de Referência Integrating Agile Development in the Real World IBM Rational® ClearCase®, Ant, and CruiseControl Sorteio no final da apresentação!
  • 4. Agenda
    • Integração contínua
      • O que é?
      • Benefícios
      • Fatores de sucesso
    • CruiseControl
      • O que é?
      • Como funciona?
      • Demonstração
    • Dúvidas
    Agenda
  • 5. Problemas no cotidiano das equipes
    • Desenvolvedores e designers trabalhando no mesmo código-fonte. Qualquer um pode “quebrá-lo”!
    • Um cenário típico:
    A complexidade do build é diretamente proporcional ao tamanho do projeto!
  • 6. O que é Integração Contínua? Compila código-fonte Prepara banco de dados Executa testes Realiza inspeções
  • 7. Benefícios
    • Elimina as longas sessões de integração.
    • O problemas de integração são detectados tão breve quanto possível.
    • Melhora o trabalho em equipe: as pessoas criam um forte sentimento de interdependência.
    • Fornece frequentemente informações importantes para o acompanhamento da qualidade do produto.
    Qualidade Produtividade
  • 8. Fatores de sucesso
    • Repositório unificado de código-fonte
    • Builds automatizados
    • Testes automatizados
    • Disciplina dos desenvolvedores
      • Sincronizar freqüentemente
      • Não quebrar o build, ele é sagrado
      • Se você quebrou, conserte!
  • 9. O que é CruiseControl?
    • É um gerenciador de builds de código-aberto e gratuito
    • Consiste de dois componentes:
      • Build loop (executa como um serviço/daemon)
      • Status Dashboard (aplicação web)
    • Integra-se a vários sistemas de gerenciamento de configuração (CVS, PVCS, Subversion, ClearCase, ...)
    • Funciona com qualquer ferramenta de build que produza um resultado tratável (Ant, Maven, ...)
  • 10. O que é CruiseControl?
    • Independente de plataforma (escrito em Java)
    • Facilmente extensível:
      • Arquitetura baseada em plugins
      • Interfaces bem definidas com sistemas de controle de código-fonte e ferramentas de build
    • Bem documentado:
      • Material de referência abrangente
      • Lista de discussão bastante ativa
      • Vários tutoriais
      • Muitos livros
  • 11. CruiseControl
  • 12. CruiseControl Build Status
  • 13. Diagrama de Arquitetura
  • 14. Como funciona?
    • Desenvolvedor publica seu trabalho no controle de código-fonte (CVS, SVN, etc…)
    • CruiseControl verifica periodicamente e controle de código-fonte
    • Se CruiseControl detecta alguma mudança:
      • Dispara um build
      • Captura logs e artefatos do build
        • Exemplos: jar, war, javadoc, relatórios de testes unitários, de cobertura de código e métricas de qualidade
      • Publica os resultados
        • Exemplos: envia e-mail, acende uma luz!
  • 15. Integração contínua para quem tem recur$o$
  • 16. Integração contínua para quem tem recur$o$
  • 17. Integração contínua para quem tem recur$o$
  • 18. Integração contínua para quem tem recur$o$ http://www.hamang.net/index.php?option=com_content&task=view&id=16&Itemid=9
  • 19. O que você ganha?
  • 20. O que você precisa?
    • Servidor de Builds
    • Servidor de Controle de Código (CVS, SVN, etc…)
    • Processo bem definido
    • Ferramentas (CruiseControl, Ant, etc...)
    • Responsabilidades do desenvolvedor
      • Atualizar o repositório frequentemente.
      • O código deve ser compilável
      • O código deve ter testes unitários
  • 21. Resumo
    • Builds Noturnos (ou Diários) é um boa prática, mas Integração Contínua é melhor!
    • Integração Contínua não elimina os bugs , porém torna a tarefa de localizá-los mais fácil e rápida.
    • CruiseControl viabiliza a Integração Contínua, porém a disciplina da equipe de desenvolvimento é a chave .
    • Automatização reduz custos, melhora a visibilidade e deixa menos espaço para erros humanos .
  • 22. Dúvidas?
  • 23. Links
    • Martin Fowler explica os princípios da Integração Contínua:
      • http://www.martinfowler.com/articles/continuousIntegration.html
    • CruiseControl:
      • http://cruisecontrol.sourceforge.net/
    • Plugin para Firefox:
      • http://www.md.pp.ru/mozilla/cc/
    • Esses modestos slides:
      • http://www.luthiano.com