integracao continua-e-php
TRANSCRIPT
Integração contínua e PHPP
Arquiteto e Consultor PHP
E-mail: [email protected]
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: [email protected]
Twitter: @albertogviana
Site: http://www.albertoviana.com
Joind.in: http://joind.in/3976
Obrigado!