background preloader

Jenkins

Facebook Twitter

Intégration continue en PHP : Hudson/Jenkins Ant ou Phing, ... L'intégration continue est une pratique de génie logiciel ayant pour origine le besoin de vérifier que l'avancement des travaux de développement ne provoque pas de régression. Cette pratique agile nécessite un outillage significatif : serveur d’intégration continue, script de déploiement, outil d'analyse, tests unitaires ... On ne détaillera pas ici l’intérêt évident de cet outillage, mais sa mise en œuvre pour PHP avec Jenkins sous Ubuntu/Debian.

Le développement de projet utilisant des méthodes agiles tend à se généraliser. Si la méthode Scrum est plébiscitée mais peu utilisée, on observe que les différentes équipes piochent dans la boite à outils de l'agilité en fonction de leurs besoins, de leur culture et du projet. Parmi ces outils, on trouve l'intégration continue. L’intégration continue est la coordination de 5 actions: PartagerOrdonnancerDéployerTester Mesurer (voir le billet Integration continue en PHP : Hudson/Jenkins Ant ou Phing, ... pour plus d'informations) Chapter 18. PHPUnit and Phing. Chapter 18. PHPUnit and Phing Phing (PHing Is Not GNU make) is a project build system based on Apache Ant. In the context of PHP, where you do not need to build and compile your sources, the intention of Phing is to ease the packaging, deployment, and testing of applications.

For these tasks, Phing provides numerous out-of-the-box operation modules ("tasks") and an easy-to-use, object-oriented model for adding your own custom tasks. Phing can be installed using the PEAR Installer. Pear channel-discover pear.phing.info Now the PEAR Installer can be used to install Phing: pear install phing/phing Phing uses simple XML build files that specify a target tree where various tasks get executed. Example 18.1 shows a Phing build.xml file that specifies a <project> named "BankAccount".

Example 18.1: Phing build.xml file for the BankAccount tests Table 18.1 shows the parameters that can be used to configure the <phpunit> task. Table 18.1. Brief plain xml Writes the test results in XML format. Table 18.2. Intégration continue d'un projet PHP avec Jenkins. Cet article fait suite à Intégration continue avec Jenkins : installation et configuration de base — et pré-suppose que vous avez installé une plate-forme d’Intégration Continue Jenkins, avec les plugins qui seront nécessaires à la mise en intégration continue d’un projet PHP. Nous allons maintenant passer à l’utilisation de la plate-forme que nous avons installé il y a quelques jours, en la configurant pour qu’elle effectue l’intégration continue d’un projet PHP. Intégration Continue d’un projet PHP ?

Outils d’analyse PHP « Builder un job » Automatisation du process de build Phing comme outil d’automatisation Un projet PHP ? Un job Jenkins pour notre projet PHP Initialisation du job Accès au système de gestion de versions Utiliser Phing comme outil de build Script de construction : build.xml Initialisation de build.xml : 3 targets Target clean Target qa : les outils d’analyse de qualité Principe Target pdepend Target phpmd Target phpcpd Target phploc Target phpcs Target phpdoc Target phpunit Target phpcb. Installing Jenkins as a Windows service. NOTE: if you installed Jenkins using the windows installer, you shouldn't need to do anything else here because the windows installer automatically runs Jenkins as a windows service. First, you need to start Jenkins before installing it.

This can be done from JNLP, or by running "java -jar jenkins.war". Now connect to Jenkins by going to the following URL Once Jenkins is started this way, look for the "Install as Windows Service" link in the "Manage Jenkins" page (requires Microsoft .NET framework version 2.0): NOTE: The "Install as Windows Service" link indicated above will not appear if Jenkins is already running as a service on the machine. You can verifying that Jenkins is running as a service by launching the Services app from the Windows Start Menu and looking for a running service called "jenkins" among the list of all windows services running on the machine. Clicking this link shows you the installation screen: From the slave machine, launch a slave agent. Intégration continue avec Jenkins : installation et configuration de base.

Jenkins, précédemment connu sous le nom de Hudson[1], est un outil Open-Source d’Intégration Continue, écrit en JAVA. Cet article va montrer comment installer un serveur d’Intégration Continue sous Jenkins ; et sera suivi d’un second article, qui montrera comment utiliser cette plate-forme pour intégrer un projet PHP. Sommaire : Intégration continue ? Pour commencer, quelques mots sur ce qu’est l’Intégration Continue, quelques pré-requis à la mise en Intégration Continue d’un projet… Et aussi quelques points expliquant en quoi l’Intégration Cotninue peut être utile. L’intégration continue, qu’est-ce que c’est ? Pour faire simple, le principe est de vérifier, idéalement à chaque modification de code source, que le résultat de ces modifications de produit pas de régression sur l’application.

Pré-requis Pour que l’intégration continue soit possible sur un projet, quelques pré-requis doivent être en place : Pourquoi ? Les principaux avantages de l’Intégration Continue sont les suivants : Sous Ubuntu.