Jenkins + DCS / Dafiti Conference 2014
-
Upload
rodrigo-moyle -
Category
Technology
-
view
388 -
download
2
description
Transcript of Jenkins + DCS / Dafiti Conference 2014
Jenkins + DCS
Quem sou eu!
Rodrigo MoyleArquiteto de Software na Dafiti
Conteúdo
● Integração Contínua● Jenkins● Dafiti Code Sheriff
Aquela velha história
● Aplicação PHP + MySQL● Git● Alguns testes unitários (Nem sempre)● Publicação via FTP
Problemas?
Solução?
Integração Contínua
● Frequente● Automatizado● Feedback constante
Jenkins
● Open source● Java● 881 plugins● Qualquer plataforma
Testes Unitários
Cobertura de Código
Testes Funcionais
Métricas
Documentação
Lava Lamp Notififer
E muito mais!
Agora, mão na massa!
Instalação ~$ wget -c \http://mirrors.jenkins-ci.org/war/latest/jenkins.war
~$ java -jar jenkins.war
http://localhost:8080/
Plugins
● Git● PHP Plugin
○ xUnit○ Clover PHP○ HTML Publisher○ DRY○ Checkstyle○ E outros...
O primeiro Job
Construção #1
Relatório de Teste
Construção #2
Cobertura de Testes
Construção #3
Cobertura de Testes++
Construção #4
Feedback
Construção #5
Automatizando
Quebrando o build
Corrigindo o build
PHP QA Tools
http://jenkins-php.org/http://phpqatools.org/
● PHPUnit● Behat● PHPLOC● PHP_Depend
● PHPMD● PHPCS● PHPCPD● PHPDCD
Dafiti Code Sheriff
PHPUnit
● Testes devem passar● Cobertura não deve diminuir
http://phpunit.de/
PHPCS
Sempre seguir o padrão que todos estão acostumados.
http://pear.php.net/package/PHP_CodeSniffer/
PHPMD
● Tamanho de código● Controversas● Design● Nomes● Código não utilizado
http://phpmd.org/
Instalação
https://github.com/dafiti/cs
$ git clone [email protected]:dafiti/cs.git$ cd cs/$ python setup.py build$ python setup.py install
$ cs -d <branch>
$ cs -d <branch>
Construindo...
Alternativas
● TravisCI● Atlassian Bamboo● CircleCI
Referências/Links● http://jenkins-ci.org/● https://wiki.jenkins-ci.org/display/JENKINS/Plugins● https://github.com/dafiti/cs● https://travis-ci.org/ e https://travis-ci.com/● https://www.atlassian.com/software/bamboo● https://circleci.com/● http://jenkins-php.org/● http://phpqatools.org/
http://www.flickr.com/photos/oberazzi/318947873/
Muito obrigado!
https://github.com/[email protected]@dafiti.com.br