SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Integração contínua e PHPP
Alberto Guimarães Viana
Arquiteto e Consultor PHP

E-mail: albertogviana@gmail.com
Twitter: @albertogviana
Site: www.albertoviana.com
Como você desenvolve software?
O que é Integração Contínua?
O que é Integração Contínua?

  “Continuous Integration is a software development
   practice where members of a team integrate their
  work frequently, usually each person integrates at
 least daily - leading to multiple integrations per day.
   Each integration is verified by an automated build
(including test) to detect integration errors as quickly
as possible. Many teams find that this approach leads
   to significantly reduced integration problems and
   allows a team to develop cohesive software more
                         rapidly.”

                                              Martin Fowler
Quais os benefícios da IC?

• Detecção de erros cedo e frequente
• Relatório a cada build
• Código limpo e consistente
• Documentação
• Aumento da confiança
Qual o valor da IC?
Qual o valor da IC?

• Redução dos riscos
• Redução dos processos manuais
• Geração de deploy
• Melhor visibilidade do projeto
• Estabelece relação de confiança entre a equipe de
 desenvolvimento e produto
Estrutura
Estrutura
Ferramentas
PHP Documentor

Cria a documentação da API com base nos code
blocks definidos
PHP_CodeSniffer

• Verifica a existência de divergência entre o código e
  padrão de codificação estabelecido
• Garante que seu código seja clean e consistente
• Previne alguns erros comuns de semântica
PHP_CodeSniffer
PHPCPD


Verifica a existência de códigos duplicados
PHPCPD
PHPMD

PHP Mess Detector analisa o código em busca de
ponteciais problemas, sendo eles:

   Bugs
   Expressões complicadas
   Parâmetros, métodos e propriedades não utilizadas
PHPMD
PHPUnit

Prove um framework onde é possível escrever testes
de forma fácil, além de possuir funcionalidade de
execução dos testes onde é gerado um relatório para
analise.
PHPUnit
PHPLoc

PHPLoc é uma ferramenta que mede o tamanho do
projeto PHP
PHP_Depend

PHP_Depend é uma ferramenta de métrica de software
que permite:
• Geração de relatórios objetivos e mensura a
    qualidade do código encontrado
   Identifica partes suspeitas do código onde deve ser
    relizada revisões
PHP_Depend
PHP_Depend
Phing

 PHP project build system
 Baseado no Apache Ant

 Baseado em XML

 Multiplos jobs

 Integra com outras ferramentas PHP

 Github: https://github.com/albertogviana/phing-

jenkins
Dúvidas?
Obrigado!

   Slideshare: http://www.slideshare.net/albertogviana/
   E-mail: albertogviana@gmail.com
   Twitter: @albertogviana
   Site: http://www.albertoviana.com
   Joind.in: http://joind.in/3976

Mais conteúdo relacionado

Mais procurados

Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreRodrigo Kono
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareAndré Dias
 
QA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsQA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsJaqueline Ramos
 
Integrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareIntegrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareConviso Application Security
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...Igor Rosa Macedo
 
Apenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidApenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidElias Nogueira
 
Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...
Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...
Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...André Dias
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Renato Groff
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoThiago Ferreira
 
Integração continua sem traumas
Integração continua sem traumasIntegração continua sem traumas
Integração continua sem traumassabrinajn
 
Testes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumTestes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumRenato Groff
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias Nogueira
 
Integracao Continua com CruiseControl
Integracao Continua com CruiseControlIntegracao Continua com CruiseControl
Integracao Continua com CruiseControlLuthiano Vasconcelos
 
Qualidade de software com o visual studio 11
Qualidade de software com o visual studio 11Qualidade de software com o visual studio 11
Qualidade de software com o visual studio 11Daniel Oliveira
 

Mais procurados (19)

Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
 
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu SoftwareDevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
DevOps Summit Brasil: +10 Ferramentas para Melhorar a Qualidade do seu Software
 
QA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsQA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps Projects
 
Integrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareIntegrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de software
 
DevOps Days SP 2019
DevOps Days SP 2019DevOps Days SP 2019
DevOps Days SP 2019
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
 
Apenas um script de teste para iOS e Android
Apenas um script de teste para iOS e AndroidApenas um script de teste para iOS e Android
Apenas um script de teste para iOS e Android
 
Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...
Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...
Reduzindo Custos e Aumentando a Produtividade com Ambientes de Dev / Test na ...
 
Android apps ci
Android apps ciAndroid apps ci
Android apps ci
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
 
Integração continua sem traumas
Integração continua sem traumasIntegração continua sem traumas
Integração continua sem traumas
 
Testes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumTestes de interfaces Web com Selenium
Testes de interfaces Web com Selenium
 
O Testador Técnico
O Testador TécnicoO Testador Técnico
O Testador Técnico
 
Testes Ágeis
Testes ÁgeisTestes Ágeis
Testes Ágeis
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
Integracao Continua com CruiseControl
Integracao Continua com CruiseControlIntegracao Continua com CruiseControl
Integracao Continua com CruiseControl
 
Qualidade de software com o visual studio 11
Qualidade de software com o visual studio 11Qualidade de software com o visual studio 11
Qualidade de software com o visual studio 11
 

Semelhante a IC e PHPP - Integração contínua, ferramentas e valor

Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaOtávio Calaça Xavier
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Aula 01-Conceitos de Qualidade
Aula 01-Conceitos de QualidadeAula 01-Conceitos de Qualidade
Aula 01-Conceitos de QualidadeCris Fidelix
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?Kamilla Queiroz Xavier
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Integracao Continua em projetos .NET
Integracao Continua em projetos .NETIntegracao Continua em projetos .NET
Integracao Continua em projetos .NETLuthiano Vasconcelos
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informaçãoFernando Gomes Chaves
 
Práticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software EficientePráticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software EficienteGiovanni Bassi
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxRoberto Nunes
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de SoftwareJoão Rolim
 
DevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps ProjectsDevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps ProjectsQaladies
 
Maio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaMaio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaGrupo de Testes Carioca
 
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Jaqueline Ramos
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 

Semelhante a IC e PHPP - Integração contínua, ferramentas e valor (20)

Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Aula 01-Conceitos de Qualidade
Aula 01-Conceitos de QualidadeAula 01-Conceitos de Qualidade
Aula 01-Conceitos de Qualidade
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Integracao Continua em projetos .NET
Integracao Continua em projetos .NETIntegracao Continua em projetos .NET
Integracao Continua em projetos .NET
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
DevOps
DevOpsDevOps
DevOps
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informação
 
Práticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software EficientePráticas De Um Engenheiro De Software Eficiente
Práticas De Um Engenheiro De Software Eficiente
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
DevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps ProjectsDevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps Projects
 
Maio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação ContínuaMaio 2016 - Integração e Validação Contínua
Maio 2016 - Integração e Validação Contínua
 
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
Women@MicrosoftCommunities - DevOps e Azure: uma combinação perfeita!
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 
Automatização - DevOps
Automatização - DevOpsAutomatização - DevOps
Automatização - DevOps
 

IC e PHPP - Integração contínua, ferramentas e valor

  • 2. Alberto Guimarães Viana Arquiteto e Consultor PHP E-mail: albertogviana@gmail.com Twitter: @albertogviana Site: www.albertoviana.com
  • 4. O que é Integração Contínua?
  • 5. O que é Integração Contínua? “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.” Martin Fowler
  • 6. Quais os benefícios da IC? • Detecção de erros cedo e frequente • Relatório a cada build • Código limpo e consistente • Documentação • Aumento da confiança
  • 7. Qual o valor da IC?
  • 8. Qual o valor da IC? • Redução dos riscos • Redução dos processos manuais • Geração de deploy • Melhor visibilidade do projeto • Estabelece relação de confiança entre a equipe de desenvolvimento e produto
  • 12. PHP Documentor Cria a documentação da API com base nos code blocks definidos
  • 13. PHP_CodeSniffer • Verifica a existência de divergência entre o código e padrão de codificação estabelecido • Garante que seu código seja clean e consistente • Previne alguns erros comuns de semântica
  • 15. PHPCPD Verifica a existência de códigos duplicados
  • 17. PHPMD PHP Mess Detector analisa o código em busca de ponteciais problemas, sendo eles:  Bugs  Expressões complicadas  Parâmetros, métodos e propriedades não utilizadas
  • 18. PHPMD
  • 19. PHPUnit Prove um framework onde é possível escrever testes de forma fácil, além de possuir funcionalidade de execução dos testes onde é gerado um relatório para analise.
  • 21. PHPLoc PHPLoc é uma ferramenta que mede o tamanho do projeto PHP
  • 22.
  • 23. PHP_Depend PHP_Depend é uma ferramenta de métrica de software que permite: • Geração de relatórios objetivos e mensura a qualidade do código encontrado  Identifica partes suspeitas do código onde deve ser relizada revisões
  • 26. Phing  PHP project build system  Baseado no Apache Ant  Baseado em XML  Multiplos jobs  Integra com outras ferramentas PHP  Github: https://github.com/albertogviana/phing- jenkins
  • 28. Obrigado!  Slideshare: http://www.slideshare.net/albertogviana/  E-mail: albertogviana@gmail.com  Twitter: @albertogviana  Site: http://www.albertoviana.com  Joind.in: http://joind.in/3976