SlideShare uma empresa Scribd logo
Integração Contínua em projetos .NET Luthiano Vasconcelos [email_address]
 
Realização
Patrocinadores
Apoio
Objetivos Apresentar os conceitos fundamentais relacionados as práticas de Integração Contínua. Demonstrar como o CruiseControl.NET pode ser usado para implementar as práticas de Integração Contínua em projetos .NET.
Material de Referência Integrating Agile Development in the Real World Expert .NET Delivery Using NAnt and CruiseControl.NET
Agenda Integração contínua O que é? Benefícios Fatores de sucesso CruiseControl.NET O que é? Como funciona? Dúvidas Agenda
O que é isso? http://www.worldslargestpuzzle.com
Desenvolver um software é como... ...montar um quebra-cabeças!
Se o projeto for muito grande... …  trabalhar sozinho é um caminho possível… mas demorado!
Se o projeto for muito grande... …  o trabalho em equipe é fundamental: reduz o estresse.
Se a equipe estiver integrada... …  o trabalho pode até se tornar DIVERTIDO!
O problema é garantir a integração...
Como garantir que a junção das partes...
... resultam no todo? Integrar só no final do projeto é muito, muito arricado!
Como garantir que não está faltando nada? Classe Web Services Configuração Script Componente Biblioteca Documentação Rotinas de Teste
Problemas no cotidiano das equipes Desenvolvedores e designers (com graus de conhecimentos diferentes) 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 Notifica os interessados
Benefícios Elimina as longas sessões de integração. O problemas de integração são detectados tão breve quanto possível (reduz o risco). 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.NET? É um gerenciador de builds de código-aberto e gratuito Consiste de dois componentes:  Build loop (executa como um serviço) Status Dashboard (aplicação web) Integra-se a vários sistemas de gerenciamento de configuração (VSS, CVS, PVCS, Subversion, ClearCase, ...) Funciona com qualquer ferramenta de build que produza um resultado tratável (NAnt, MSBuild, FinalBuilder, ...)
O que é CruiseControl.NET? Pode ser usado em projetos C#, VB.NET, etc… 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 Muitos tutoriais Vários livros
Diagrama de Arquitetura
 
CruiseControl
Como funciona? Desenvolvedor publica seu trabalho no controle de código-fonte (VSS, CVS, SVN, etc…) CruiseControl.NET verifica periodicamente e controle de código-fonte Se CruiseControl.NET detecta alguma mudança: Dispara um build Captura logs e artefatos do build  Exemplos: dll, msi, relatórios de testes unitários (NUnit), 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 (VSS, CVS, SVN, etc…) Processo bem definido Ferramentas (CruiseControl.NET, NAnt, NAntContrib, etc...) Responsabilidades do desenvolvedor Atualizar o repositório frequentemente. O código deve ser compilável O código deve ter testes unitários Quebrar o build é feio! Muito feio!
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 Conceitos de Integração Contínua: http://unibrain.com.br/recursos/artigos/integracao-continua/ CruiseControl.NET: http://ccnet.thoughtworks.com/ Plugin para Firefox: http://www.md.pp.ru/mozilla/cc/ Esses modestos slides:  http://www.luthiano.com

Mais conteúdo relacionado

PPT
Integracao Continua com CruiseControl
PPSX
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
PPTX
Testes Automatizados
PDF
Desenvolvimento Guiado por Testes
PPTX
Integração contínua - Parte 1
PPTX
Refactoring
PPTX
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
PPTX
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Integracao Continua com CruiseControl
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
Testes Automatizados
Desenvolvimento Guiado por Testes
Integração contínua - Parte 1
Refactoring
São Paulo MuleSoft Meetup - Unwired API Led & Custom Polices
Visual Regression Tests - Dando um Upload nos seus testes de UI!

Mais procurados (19)

PPTX
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
PPTX
Mocking Test - ThinkUp! - Abril/2017
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PDF
Integracao continua-e-php
PDF
Conectando jBPM com o mundo - TDC 2014 SP
PPTX
TDD e BDD - Developers-SP - Abril/2017
PPT
Integração Contínua
 
PPTX
Behavior-Driven Development (BDD) - Abril/2017
PPTX
Introdução ao desenvolvimento de aplicações web
PDF
E so mais um campinho na tela
PDF
Como aumentar a produtividade da sua equipe
PDF
#1 - Git - Introdução
PDF
Introdução ao LiveOak
PDF
TDC2018SP | Trilha Testes - Testes de Acessibilidade - Qualidade para Todos
PDF
Continious Delivery in practice - POA Meetup
ODP
Vraptor Overview
PPTX
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
PPTX
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
PDF
Clean Architecture
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
Mocking Test - ThinkUp! - Abril/2017
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
Integracao continua-e-php
Conectando jBPM com o mundo - TDC 2014 SP
TDD e BDD - Developers-SP - Abril/2017
Integração Contínua
 
Behavior-Driven Development (BDD) - Abril/2017
Introdução ao desenvolvimento de aplicações web
E so mais um campinho na tela
Como aumentar a produtividade da sua equipe
#1 - Git - Introdução
Introdução ao LiveOak
TDC2018SP | Trilha Testes - Testes de Acessibilidade - Qualidade para Todos
Continious Delivery in practice - POA Meetup
Vraptor Overview
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
Clean Architecture
Anúncio

Destaque (9)

PPTX
Integração Contínua com o Jenkins para Aplicações .NET
PDF
Integração Contínua com CVS, CruiseControl, AntHill, Gump
PDF
Integração Contínua - Maré de Agilidade
PDF
Integração Contínua
PDF
TDC2008 Integração Contínua
PDF
Da Integração à Entrega Contínua
PDF
Integração Continua - Jenkins
PDF
Integração Contínua
PDF
Integração contínua em PHP com Jenkins
Integração Contínua com o Jenkins para Aplicações .NET
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua - Maré de Agilidade
Integração Contínua
TDC2008 Integração Contínua
Da Integração à Entrega Contínua
Integração Continua - Jenkins
Integração Contínua
Integração contínua em PHP com Jenkins
Anúncio

Semelhante a Integracao Continua em projetos .NET (20)

PDF
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
PPTX
Integração Contínua
PPTX
Integração contínua - Prática de desenvolvimento
PPT
Integração contínua
PPTX
Integração Contínua
PDF
Maio 2016 - Integração e Validação Contínua
ODP
Continuous Integration / Dafiti Conference 2014
PPTX
CI: Integração Contínua ou Isolamento Contínuo?
PDF
Integração Contínua 3FCSL
PDF
Integração continua
PPTX
Integração contínua
PPTX
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
PDF
Arquitetura de Software para a Entrega Continua
PPTX
Automatização de Ambientes CI & CD & DevOps
PDF
Intodução a Integração Contínua
PPTX
Integração Contínua
PPT
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
PDF
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
PPTX
Integração Contínua com o Hudson para Aplicações .NET
PDF
Continuous Delivery. Em Busca da Entrega Perfeita!
ld0mg1hrlhzbyvgfiyyq-signature-d9919623d100cd87ad7553e4c50163aa9329a439464540...
Integração Contínua
Integração contínua - Prática de desenvolvimento
Integração contínua
Integração Contínua
Maio 2016 - Integração e Validação Contínua
Continuous Integration / Dafiti Conference 2014
CI: Integração Contínua ou Isolamento Contínuo?
Integração Contínua 3FCSL
Integração continua
Integração contínua
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Arquitetura de Software para a Entrega Continua
Automatização de Ambientes CI & CD & DevOps
Intodução a Integração Contínua
Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Integração Contínua com o Hudson para Aplicações .NET
Continuous Delivery. Em Busca da Entrega Perfeita!

Integracao Continua em projetos .NET

  • 1. Integração Contínua em projetos .NET Luthiano Vasconcelos [email_address]
  • 2.  
  • 6. Objetivos Apresentar os conceitos fundamentais relacionados as práticas de Integração Contínua. Demonstrar como o CruiseControl.NET pode ser usado para implementar as práticas de Integração Contínua em projetos .NET.
  • 7. Material de Referência Integrating Agile Development in the Real World Expert .NET Delivery Using NAnt and CruiseControl.NET
  • 8. Agenda Integração contínua O que é? Benefícios Fatores de sucesso CruiseControl.NET O que é? Como funciona? Dúvidas Agenda
  • 9. O que é isso? http://www.worldslargestpuzzle.com
  • 10. Desenvolver um software é como... ...montar um quebra-cabeças!
  • 11. Se o projeto for muito grande... … trabalhar sozinho é um caminho possível… mas demorado!
  • 12. Se o projeto for muito grande... … o trabalho em equipe é fundamental: reduz o estresse.
  • 13. Se a equipe estiver integrada... … o trabalho pode até se tornar DIVERTIDO!
  • 14. O problema é garantir a integração...
  • 15. Como garantir que a junção das partes...
  • 16. ... resultam no todo? Integrar só no final do projeto é muito, muito arricado!
  • 17. Como garantir que não está faltando nada? Classe Web Services Configuração Script Componente Biblioteca Documentação Rotinas de Teste
  • 18. Problemas no cotidiano das equipes Desenvolvedores e designers (com graus de conhecimentos diferentes) 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!
  • 19. O que é Integração Contínua? Compila código-fonte Prepara banco de dados Executa testes Realiza inspeções Notifica os interessados
  • 20. Benefícios Elimina as longas sessões de integração. O problemas de integração são detectados tão breve quanto possível (reduz o risco). 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
  • 21. 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!
  • 22. O que é CruiseControl.NET? É um gerenciador de builds de código-aberto e gratuito Consiste de dois componentes: Build loop (executa como um serviço) Status Dashboard (aplicação web) Integra-se a vários sistemas de gerenciamento de configuração (VSS, CVS, PVCS, Subversion, ClearCase, ...) Funciona com qualquer ferramenta de build que produza um resultado tratável (NAnt, MSBuild, FinalBuilder, ...)
  • 23. O que é CruiseControl.NET? Pode ser usado em projetos C#, VB.NET, etc… 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 Muitos tutoriais Vários livros
  • 25.  
  • 27. Como funciona? Desenvolvedor publica seu trabalho no controle de código-fonte (VSS, CVS, SVN, etc…) CruiseControl.NET verifica periodicamente e controle de código-fonte Se CruiseControl.NET detecta alguma mudança: Dispara um build Captura logs e artefatos do build Exemplos: dll, msi, relatórios de testes unitários (NUnit), de cobertura de código e métricas de qualidade Publica os resultados Exemplos: envia e-mail, acende uma luz!
  • 28. Integração contínua para quem tem recur$o$
  • 29. Integração contínua para quem tem recur$o$
  • 30. Integração contínua para quem tem recur$o$
  • 31. Integração contínua para quem tem recur$o$ http://www.hamang.net/index.php?option=com_content&task=view&id=16&Itemid=9
  • 32. O que você ganha?
  • 33. O que você precisa? Servidor de Builds Servidor de Controle de Código (VSS, CVS, SVN, etc…) Processo bem definido Ferramentas (CruiseControl.NET, NAnt, NAntContrib, etc...) Responsabilidades do desenvolvedor Atualizar o repositório frequentemente. O código deve ser compilável O código deve ter testes unitários Quebrar o build é feio! Muito feio!
  • 34. 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 .
  • 36. Links Conceitos de Integração Contínua: http://unibrain.com.br/recursos/artigos/integracao-continua/ CruiseControl.NET: http://ccnet.thoughtworks.com/ Plugin para Firefox: http://www.md.pp.ru/mozilla/cc/ Esses modestos slides: http://www.luthiano.com

Notas do Editor

  • #2: Videos http://www.youtube.com/watch?v=2U9qPP4OC_M http://www.youtube.com/watch?v=tk8BXhA0BCA