SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Integração Contínua com
             Hudson




Wende Mendes Higino

email: wende.mendes@bluesoft.com.br
Objetivo
Integração Contínua


 * Estimula a equipe a integrar se código no
repositório

    - Em porções menores

    - Frequentemente
Integração Contínua


“O segredo para solucionar
  um problema rapidamente,
é encontrá-lo rapidamente.”

                  (Martin Fowler)
Integração Contínua




     Exemplo
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Integração Contínua
Ferramentas Para IC
* Automatização de ciclo de vida do projeto
    - Maven 2
        - Gerencia e automatiza projetos Java
        - Baseada em um modelo de convenção sobre
          confguração
        - Utiliza repositórios para download de
          ferramentas e plugins comuns
        - Facilita a tarefa de confguração de
          ferramentas pois sabe de antemão a
          localização de seus requisitos
Ferramentas Para IC
* Análise estática de código
    - FindBugs
         - Ferramenta open source
         - Busca por padrões de código que sejam
           potenciais erros
         - Possui centenas de padrões conhecidos
Ferramentas Para IC
* Análise estática de código
    - PMD
         - Semelhante ao FindBugs, procura po
           padrões de código que potencialmente são
           falhas de codifcação
         - Blocos vazios
         - Variáveis não usadas
         - Uso indevido de String em detrimento ao
           uso de StringBufer
         - Códigos com alta Complexidade
           Ciclomática
Ferramentas Para IC


* Análise estática de código
    - Checkstyle
      – Verifica padrões de codificação diretamente no código fonte
      – Gera um relatório com todas as violações encontradas
Ferramentas Para IC

* Testes
    - Emma
      – É uma alternativa de ferramenta para cobertura de código fonte através de testes
         unitários
      – Detecta coberturas parciais de uma linha
      – O usuário pode informar um nível mínimo de cobertura para e será alertado quando
         esse nível não for atingido
      – Possibilita merge de relatórios de instrumentação
Hudson
Integração Contínua
* Frameworks de IC
    Continuum
    CruiseControl
    Hudson
    Bamboo
    TeamCity
    BuildBot
    AnthillPro
    Automated Build Studio
Hudson
* Sistema automatizado de suporte à
  Integração Contínua
    - Criado por Kohsuke Kawaguchi
    - Mantido por uma ativa comunidade de
      desenvolvedores
* Open-source
* Fácil instalação e utilização
Hudson
Hudson ( Instalação )


Forma rápida:
   1- Faça download do war do Hudson
   2- Executar java -jar hudson.war (executa com o Winstone)

Forma menos rápida:
   1 - Faça download do war do Hudson
   2 - Instale no seu container (JBoss, Tomcat, etc).
   3 - A instalação é feita como a instalação de uma aplicação web
   normal, seguindo as diferenças para cada container
Exemplo
Obrigado

Mais conteúdo relacionado

Mais procurados

Mais procurados (13)

Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do Sul
 
Apresentação SANEAGO
Apresentação SANEAGOApresentação SANEAGO
Apresentação SANEAGO
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Análise estática de código Python
Análise estática de código PythonAnálise estática de código Python
Análise estática de código Python
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em Python
 
Incluindo Ferramentas de Segurança no Pipeline
Incluindo Ferramentas de Segurança no PipelineIncluindo Ferramentas de Segurança no Pipeline
Incluindo Ferramentas de Segurança no Pipeline
 
Lições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosLições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviços
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com docker
 
Conhecendo, explorando e usando azure container service
Conhecendo, explorando e usando azure container serviceConhecendo, explorando e usando azure container service
Conhecendo, explorando e usando azure container service
 
Super tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.jsSuper tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.js
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
 

Destaque

Proverbios Matrimonio
Proverbios MatrimonioProverbios Matrimonio
Proverbios Matrimonio
Ivone Lage
 
Projeto De InformáTica
Projeto De InformáTicaProjeto De InformáTica
Projeto De InformáTica
guest062d4f
 
Power point 2007 guia 4
Power point 2007 guia 4Power point 2007 guia 4
Power point 2007 guia 4
juuaankk
 
Texto Metodologias Parte1
Texto Metodologias Parte1Texto Metodologias Parte1
Texto Metodologias Parte1
Antonio Tavares
 
122 igrejasqueoram-c-140821153731-phpapp02
122 igrejasqueoram-c-140821153731-phpapp02122 igrejasqueoram-c-140821153731-phpapp02
122 igrejasqueoram-c-140821153731-phpapp02
Elmi Tavares
 
Metade Osvaldo Montenegro Josecarlos
Metade Osvaldo Montenegro JosecarlosMetade Osvaldo Montenegro Josecarlos
Metade Osvaldo Montenegro Josecarlos
vida simples
 
Aula Plano De 4 Dias
Aula Plano De 4 DiasAula Plano De 4 Dias
Aula Plano De 4 Dias
Roger Eves
 
VariaçãO+..
VariaçãO+..VariaçãO+..
VariaçãO+..
Barão
 
Comprobantes de diario
Comprobantes de diarioComprobantes de diario
Comprobantes de diario
Nicolas Acosta
 
Guardar Tenencia Simples
Guardar Tenencia SimplesGuardar Tenencia Simples
Guardar Tenencia Simples
vida simples
 

Destaque (20)

O Modelo de Auto-Avaliação das Bibliotecas Escolares: metodologias de operaci...
O Modelo de Auto-Avaliação das Bibliotecas Escolares: metodologias de operaci...O Modelo de Auto-Avaliação das Bibliotecas Escolares: metodologias de operaci...
O Modelo de Auto-Avaliação das Bibliotecas Escolares: metodologias de operaci...
 
Proverbios Matrimonio
Proverbios MatrimonioProverbios Matrimonio
Proverbios Matrimonio
 
Ap
ApAp
Ap
 
Projeto De InformáTica
Projeto De InformáTicaProjeto De InformáTica
Projeto De InformáTica
 
Relatorio
RelatorioRelatorio
Relatorio
 
Termologiaresumo
TermologiaresumoTermologiaresumo
Termologiaresumo
 
PCI - Algo de Novo?
PCI - Algo de Novo?PCI - Algo de Novo?
PCI - Algo de Novo?
 
The infinite scroll - recomendações para um final feliz
The infinite scroll - recomendações para um final felizThe infinite scroll - recomendações para um final feliz
The infinite scroll - recomendações para um final feliz
 
Power point 2007 guia 4
Power point 2007 guia 4Power point 2007 guia 4
Power point 2007 guia 4
 
Texto Metodologias Parte1
Texto Metodologias Parte1Texto Metodologias Parte1
Texto Metodologias Parte1
 
Lichenes
LichenesLichenes
Lichenes
 
122 igrejasqueoram-c-140821153731-phpapp02
122 igrejasqueoram-c-140821153731-phpapp02122 igrejasqueoram-c-140821153731-phpapp02
122 igrejasqueoram-c-140821153731-phpapp02
 
Metade Osvaldo Montenegro Josecarlos
Metade Osvaldo Montenegro JosecarlosMetade Osvaldo Montenegro Josecarlos
Metade Osvaldo Montenegro Josecarlos
 
Ilumina
IluminaIlumina
Ilumina
 
Aula Plano De 4 Dias
Aula Plano De 4 DiasAula Plano De 4 Dias
Aula Plano De 4 Dias
 
VariaçãO+..
VariaçãO+..VariaçãO+..
VariaçãO+..
 
Comprobantes de diario
Comprobantes de diarioComprobantes de diario
Comprobantes de diario
 
Guardar Tenencia Simples
Guardar Tenencia SimplesGuardar Tenencia Simples
Guardar Tenencia Simples
 
Indicadores Econômicos - Agosto 2014
Indicadores Econômicos - Agosto 2014Indicadores Econômicos - Agosto 2014
Indicadores Econômicos - Agosto 2014
 
Extraordinario y poderoso amarre de amor
Extraordinario y poderoso amarre de amorExtraordinario y poderoso amarre de amor
Extraordinario y poderoso amarre de amor
 

Semelhante a Palestra hudson

Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
Carlos Gonzaga
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
Ricardo Guerra Freitas
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
Walanem Figueiredo
 

Semelhante a Palestra hudson (20)

Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
Testes Funcionais e Estruturais utilizando Selenium IDE e CoberturaTestes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Arquitetura Nativa na Nuvem
Arquitetura Nativa na NuvemArquitetura Nativa na Nuvem
Arquitetura Nativa na Nuvem
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
1º FasS2B 2010
1º FasS2B 20101º FasS2B 2010
1º FasS2B 2010
 
MVC e Frameworks MVC
MVC e Frameworks MVCMVC e Frameworks MVC
MVC e Frameworks MVC
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
SonarQube
SonarQubeSonarQube
SonarQube
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
 
DevOps
DevOpsDevOps
DevOps
 

Mais de Wende Mendes

Mais de Wende Mendes (20)

Rotas com angular
Rotas com angularRotas com angular
Rotas com angular
 
Angular Nodejs e com mongolab
Angular Nodejs e com mongolabAngular Nodejs e com mongolab
Angular Nodejs e com mongolab
 
Dicas para pescar tucunare
Dicas para pescar tucunareDicas para pescar tucunare
Dicas para pescar tucunare
 
Produtividade com teste de integracao
Produtividade com teste de integracaoProdutividade com teste de integracao
Produtividade com teste de integracao
 
Táticas para motivar a sus equipe
Táticas para motivar a sus equipeTáticas para motivar a sus equipe
Táticas para motivar a sus equipe
 
Apreenda a trabalhar em equipe
Apreenda a trabalhar em equipeApreenda a trabalhar em equipe
Apreenda a trabalhar em equipe
 
Pare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vidaPare de dar descupas a voce mesmo e aproveite a vida
Pare de dar descupas a voce mesmo e aproveite a vida
 
Aprenda com o simples
Aprenda com o simples Aprenda com o simples
Aprenda com o simples
 
Motivação e Metas para Equipe
Motivação e Metas para EquipeMotivação e Metas para Equipe
Motivação e Metas para Equipe
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1100 maneiras de motivar sua equipe parte 1
100 maneiras de motivar sua equipe parte 1
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitáriosApresentação de Ruby para desktop, xml, yaml, e testes unitários
Apresentação de Ruby para desktop, xml, yaml, e testes unitários
 
Apresentação de ruby parte 5
Apresentação de ruby parte 5Apresentação de ruby parte 5
Apresentação de ruby parte 5
 
Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplos
 
Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito mais
 
Ruby com Objetos e classes
Ruby com Objetos e classesRuby com Objetos e classes
Ruby com Objetos e classes
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a ruby
 

Último

Último (9)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Palestra hudson

  • 1. Integração Contínua com Hudson Wende Mendes Higino email: wende.mendes@bluesoft.com.br
  • 3. Integração Contínua * Estimula a equipe a integrar se código no repositório - Em porções menores - Frequentemente
  • 4. Integração Contínua “O segredo para solucionar um problema rapidamente, é encontrá-lo rapidamente.” (Martin Fowler)
  • 12.
  • 13. Ferramentas Para IC * Automatização de ciclo de vida do projeto - Maven 2 - Gerencia e automatiza projetos Java - Baseada em um modelo de convenção sobre confguração - Utiliza repositórios para download de ferramentas e plugins comuns - Facilita a tarefa de confguração de ferramentas pois sabe de antemão a localização de seus requisitos
  • 14. Ferramentas Para IC * Análise estática de código - FindBugs - Ferramenta open source - Busca por padrões de código que sejam potenciais erros - Possui centenas de padrões conhecidos
  • 15. Ferramentas Para IC * Análise estática de código - PMD - Semelhante ao FindBugs, procura po padrões de código que potencialmente são falhas de codifcação - Blocos vazios - Variáveis não usadas - Uso indevido de String em detrimento ao uso de StringBufer - Códigos com alta Complexidade Ciclomática
  • 16. Ferramentas Para IC * Análise estática de código - Checkstyle – Verifica padrões de codificação diretamente no código fonte – Gera um relatório com todas as violações encontradas
  • 17. Ferramentas Para IC * Testes - Emma – É uma alternativa de ferramenta para cobertura de código fonte através de testes unitários – Detecta coberturas parciais de uma linha – O usuário pode informar um nível mínimo de cobertura para e será alertado quando esse nível não for atingido – Possibilita merge de relatórios de instrumentação
  • 19. Integração Contínua * Frameworks de IC Continuum CruiseControl Hudson Bamboo TeamCity BuildBot AnthillPro Automated Build Studio
  • 20. Hudson * Sistema automatizado de suporte à Integração Contínua - Criado por Kohsuke Kawaguchi - Mantido por uma ativa comunidade de desenvolvedores * Open-source * Fácil instalação e utilização
  • 22. Hudson ( Instalação ) Forma rápida: 1- Faça download do war do Hudson 2- Executar java -jar hudson.war (executa com o Winstone) Forma menos rápida: 1 - Faça download do war do Hudson 2 - Instale no seu container (JBoss, Tomcat, etc). 3 - A instalação é feita como a instalação de uma aplicação web normal, seguindo as diferenças para cada container