SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PPT
Integracao Continua em projetos .NET
PDF
Android apps ci
PPTX
Integração continua sem traumas
PDF
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
PPT
Integração Contínua
 
PPTX
Visual Regression Tests - Dando um Upload nos seus testes de UI!
PDF
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
PDF
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io
Integracao Continua em projetos .NET
Android apps ci
Integração continua sem traumas
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
Integração Contínua
 
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Como testar a performance de ap is utilizando uma ferramenta simples e gratuita?
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io

Mais procurados (20)

PDF
Maio 2016 - Integração e Validação Contínua
PDF
TDC2018SP | Trilha Testes - Testes de Acessibilidade - Qualidade para Todos
PDF
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
PPTX
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
PPTX
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
PDF
Integracao continua-e-php
PPT
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
PPTX
Automatização - DevOps
PDF
Descomplicando CI/CD com Jenkins, Docker Swarm e Github
PPTX
Microsoft opensource
 
PDF
Papel do QA na Transformação Ágil
PPTX
Selenium WebDriver com Docker
PDF
Desenvolvimento Guiado por Testes
PDF
Como criar testes rápidos e robustos com Cypress
PDF
Análise Estática de Código
PPTX
Estratégia de Build e Release - DevOps
PPSX
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
PDF
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
PDF
Como aumentar a produtividade da sua equipe
PDF
Gitlab CI/CD com python
Maio 2016 - Integração e Validação Contínua
TDC2018SP | Trilha Testes - Testes de Acessibilidade - Qualidade para Todos
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Integracao continua-e-php
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatização - DevOps
Descomplicando CI/CD com Jenkins, Docker Swarm e Github
Microsoft opensource
 
Papel do QA na Transformação Ágil
Selenium WebDriver com Docker
Desenvolvimento Guiado por Testes
Como criar testes rápidos e robustos com Cypress
Análise Estática de Código
Estratégia de Build e Release - DevOps
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Como aumentar a produtividade da sua equipe
Gitlab CI/CD com python
Anúncio

Destaque (20)

PDF
Checklist para Avaliação da Documentação.PDF
PPTX
PPS
Gerenciamento_Projetos
PPT
Seminário Mestrado em Administração/Marketing
PDF
Apostila Marketing de Projetos
PDF
Apostila Estratégia de Empresas
KEY
3. Casos de Uso
PPSX
Principais Causas de Fracasso em um Projeto
PDF
Innovation by Chinese EMNEs
PPSX
Rede De Cidadania, Do Movimento Voto Consciente
PDF
Raciocínio baseado em casos para gerenciamento colaborativo de riscos
PDF
Aula06 Gerenciamento De Riscos Pmbok 4 Edicao Escm
PPT
GMC 2010 indicadores para a gestão do conhecimento
PPT
Empreendedorismo Criativo Para Pequenas Empresas
PPT
Gestão de vendas: Estruturação da Informação no Processo de Vendas
PPTX
Portfólio Diego Andreasi
PDF
Gerenciamento de Integracao - Aula 2
PDF
Gerenciamento de Integracao - Aula 3
PPT
Gerenciamento de integração de projetos
PDF
Modelo em Espiral
Checklist para Avaliação da Documentação.PDF
Gerenciamento_Projetos
Seminário Mestrado em Administração/Marketing
Apostila Marketing de Projetos
Apostila Estratégia de Empresas
3. Casos de Uso
Principais Causas de Fracasso em um Projeto
Innovation by Chinese EMNEs
Rede De Cidadania, Do Movimento Voto Consciente
Raciocínio baseado em casos para gerenciamento colaborativo de riscos
Aula06 Gerenciamento De Riscos Pmbok 4 Edicao Escm
GMC 2010 indicadores para a gestão do conhecimento
Empreendedorismo Criativo Para Pequenas Empresas
Gestão de vendas: Estruturação da Informação no Processo de Vendas
Portfólio Diego Andreasi
Gerenciamento de Integracao - Aula 2
Gerenciamento de Integracao - Aula 3
Gerenciamento de integração de projetos
Modelo em Espiral
Anúncio

Semelhante a Integracao Continua com CruiseControl (20)

PPTX
Keynote Visual Studio Summit 2016
PDF
Apresentação de Slides: DevOps - Ciclos de vida
PDF
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
PPTX
Integração contínua - Prática de desenvolvimento
PPTX
Integração Contínua
PPT
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
PPTX
Cloud Computing e Integração Contínua com o Windows Azure
PPTX
SonarQube
 
PDF
DevQA: Como medir qualidade de código ?
PDF
Integração Contínua com CVS, CruiseControl, AntHill, Gump
PPTX
Estratégias de Estruturação de Código-fonte e Controlo de Versão
PDF
01 - Introdução a programação para internet v1.1
PPTX
Automatize seu processo de entrega de software com CI/CD na AWS
PDF
Arquitetura de Software para a Entrega Continua
PPSX
GABC 2018 - Hands-On: DevOps, CI e CD
PPSX
.Net Community Summit 2018 - CI/CD com ASP.NET Core, VSTS e Azure - Jaqueline...
PDF
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
PPTX
Sonarqube
 
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Como aplicar práticas DevOps em um sistema monólito
Keynote Visual Studio Summit 2016
Apresentação de Slides: DevOps - Ciclos de vida
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
Integração contínua - Prática de desenvolvimento
Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Cloud Computing e Integração Contínua com o Windows Azure
SonarQube
 
DevQA: Como medir qualidade de código ?
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Estratégias de Estruturação de Código-fonte e Controlo de Versão
01 - Introdução a programação para internet v1.1
Automatize seu processo de entrega de software com CI/CD na AWS
Arquitetura de Software para a Entrega Continua
GABC 2018 - Hands-On: DevOps, CI e CD
.Net Community Summit 2018 - CI/CD com ASP.NET Core, VSTS e Azure - Jaqueline...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
Sonarqube
 
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Como aplicar práticas DevOps em um sistema monólito

Último (20)

PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Aula sobre banco de dados com firebase db
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
COBITxITIL-Entenda as diferença em uso governança TI
Émile Durkheim slide elaborado muito bom
Curso de Java 9 - (Threads) Multitarefas.pptx
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Apple Pippin Uma breve introdução. - David Glotz
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Processos na gestão de transportes, TM100 Col18
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Aula sobre banco de dados com firebase db
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula 18 - Manipulacao De Arquivos python
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...

Integracao Continua com CruiseControl

  • 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
  • 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 .
  • 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