jenkins + dcs / dafiti conference 2014

Post on 22-Nov-2014

388 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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/

TRANSCRIPT

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 git@github.com: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/

Muito obrigado!

https://github.com/rodrigorm@rodrigormrodrigo.moyle@dafiti.com.br

top related