Académique Documents
Professionnel Documents
Culture Documents
Alice
Build
Successful
SCM Server
Bob
Carlos
CI Server
Workflow de l’Intégration Continue
Alice
Build Failed
SCM Server
Bob
Alice
Build
Successful
SCM Server
Bob
Carlos
CI Server
Intégration Continue PHP
Installation de Jenkins
Installer Jenkins CI
http://localhost:8080/
Installer les outils PHP
¨ Green Balls pour avoir des billes vertes au lieu des bleues J
Installer les plugins Jenkins
Dépôt de code
Subversion
Dossier local
Git
Branche à construire
Navigateur de
code source
Configuration du déclenchement
Syntaxe de crontab
Exécution et contrôle du build
Build réussi !
Exécution et contrôle du build
Configuration de Phing
Configuration de Phing
<testsuites>
<testsuite name="Syndication Component Test Suite">
<directory>./tests/Syndication/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>./src/Syndication/</directory>
</whitelist>
</filter>
</phpunit>
Configurer la suite de tests unitaires
<?xml version="1.0" encoding="UTF-8"?>
</project>
Configurer la suite de tests unitaires
9/9
Analyse des tests unitaires
Publication de la couverture de code
Publication de la couverture de code
PHPDocumentor
Configuration de PHPDocumentor
Générer la documentation d’API
Configuration de PHPCPD
Rechercher les duplications de code
Le graphique ci-contre
montre l’évolution du nombre
de tests unitaires réussis au
dernier build.
PHPDepend
Configuration de PHPDepend
Déterminer les dépendances
¨ PDepend est un portage en PHP de JDepend (Java)
¨ Analyse statistique du code
n Complexité cyclomatique
n Qualité globale du code
n Nombre de classes / méthodes / fonctions / interfaces
n Nombre d’appels d’une méthode
n Nombre de propriétés / méthodes publiques vs privées
n Nombre de lignes de code en commentaires….
Déterminer les dépendances
<?xml version="1.0" encoding="UTF-8"?>
<project name="Syndication Component" basedir="." default="main">
</project>
Publier les rapports PMD
PHP_CodeSniffer
Configuration de PHP_CodeSniffer
Analyser les violations de codage
</project>
Publier le rapport des violations
Publier le rapport des violations
PHP Code Browser
¨ Emails
¨ Jabber
¨ RSS
¨ …
Alerter l’équipe par e-mail
https://github.com/sebastianbergmann/php-jenkins-template
Pour aller plus loin
Sensio S.A.
92-98, boulevard Victor Hugo
92 115 Clichy Cedex
FRANCE