• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Integracao Continua com CruiseControl
 

Integracao Continua com CruiseControl

on

  • 4,504 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,504
Views on SlideShare
4,428
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 Integracao Continua com CruiseControl Presentation Transcript

  • Integração Contínua com CruiseControl Luthiano Vasconcelos [email_address]
  • 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.
  • Material de Referência Integrating Agile Development in the Real World IBM Rational® ClearCase®, Ant, and CruiseControl Sorteio no final da apresentação!
  • Agenda
    • Integração contínua
      • O que é?
      • Benefícios
      • Fatores de sucesso
    • CruiseControl
      • O que é?
      • Como funciona?
      • Demonstração
    • Dúvidas
    Agenda
  • 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!
  • O que é Integração Contínua? Compila código-fonte Prepara banco de dados Executa testes Realiza inspeções
  • 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
  • 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!
  • 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, ...)
  • 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
  • CruiseControl
  • CruiseControl Build Status
  • Diagrama de Arquitetura
  • 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!
  • Integração contínua para quem tem recur$o$
  • Integração contínua para quem tem recur$o$
  • Integração contínua para quem tem recur$o$
  • Integração contínua para quem tem recur$o$ http://www.hamang.net/index.php?option=com_content&task=view&id=16&Itemid=9
  • O que você ganha?
  • 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
  • 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 .
  • Dúvidas?
  • 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