Upload
rodrigo-moyle
View
391
Download
2
Embed Size (px)
DESCRIPTION
Veja como usamos o Jenkins na Dafiti. Também conheça nossa ferramenta para validação de funcionalidades o Dafiti Code Sheriff. Para ver a apresentação com as anotações: https://docs.google.com/presentation/d/1MM1feMDeTIgnnO3qmrudXsaFYkP1v-ZHu0k_h4ZnuUA/pub?start=false&loop=false&delayms=3000 Dafiti Code Sheriff: https://github.com/dafiti/cs Dafiti Conference 2014: http://ti.dafiti.com.br/dafiti-tech-conference-2014/
Citation preview
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