Integracao Continua com CruiseControl

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

4 Favorites

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

+ Luthiano VasconcelosLuthiano Vasconcelos, 2 years ago

custom

1436 views, 4 favs, 3 embeds more stats

Apresentação realizada no Café com Tapioca de 17 more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 1436
    • 1417 on SlideShare
    • 19 from embeds
  • Comments 1
  • Favorites 4
  • Downloads 1
Most viewed embeds
  • 17 views on http://luthiano.com
  • 1 views on http://wildfire.gigya.com
  • 1 views on http://lj-toys.com

more

All embeds
  • 17 views on http://luthiano.com
  • 1 views on http://wildfire.gigya.com
  • 1 views on http://lj-toys.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories