Integracao continua-e-php

Preview:

Citation preview

Integração contínua e PHPP

Arquiteto e Consultor PHP

E-mail: albertogviana@gmail.com

Twitter: @albertogviana

Site: www.albertoviana.com

Alberto Guimarães Viana

Como você desenvolve software?

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

O que é Integração Contínua?

• Detecção de erros cedo e frequente

• Relatório a cada build

• Código limpo e consistente

• Documentação

• Aumento da confiança

Quais os benefícios 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

Qual o valor da IC?

Estrutura

Estrutura

Ferramentas

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

PHP Documentor

• 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

PHP_CodeSniffer

Verifica a existência de códigos duplicados

PHPCPD

PHPCPD

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

PHPMD

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

PHPUnit

PHPLoc é uma ferramenta que mede o tamanho do projeto PHP

PHPLoc

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

PHP_Depend

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

Phing

Dúvidas?

Slideshare: http://www.slideshare.net/albertogviana/

E-mail: albertogviana@gmail.com

Twitter: @albertogviana

Site: http://www.albertoviana.com

Joind.in: http://joind.in/3976

Obrigado!