mardi 7 mai 13

publicité
TP – Intégration continue
mardi 7 mai 13
Partie 1 : Introduction
Désactivez la construction automatique d’eclipse
Initialisez un projet Java et structurez-le comme suit :
src
main
java
Java source path
test
java
target
classes
Default output folder
mardi 7 mai 13
Partie 1 : Introduction
Créez une classe fr.univ.App disposant
d’une méthode
public static void main(String[] args)
mardi 7 mai 13
Partie 1 : Introduction
Créez un fichier build.xml à la racine
du projet contenant :
<?xml version="1.0" encoding="UTF-8"?>
<project name="Projet" default="build">
<target name="build">
<echo>Construction du projet...</echo>
</target>
</project>
mardi 7 mai 13
Partie 1 : Introduction
Ouvrez la vue eclipse «Ant»
Ajoutez votre fichier build.xml à la vue
Lancez la tâche Ant et constatez le
résultat
mardi 7 mai 13
Partie 1 : Introduction
Ajoutez les tâches vous permettant de
compiler votre projet comme le ferait
eclipse
Aidez-vous des tâches suivantes :
mkdir, delete, javac...
mardi 7 mai 13
Partie 1 : Introduction
Séparez votre tâche de compilation en
plusieurs tâches interdépendantes
Chaque tâche doit correspondre à une
étape unitaire pouvant être exécutée
seule
Aidez-vous de l’attribut «depends»
mardi 7 mai 13
Partie 1 : Introduction
Dupliquez votre projet et créez à présent un
fichier pom.xml à la racine du projet obtenu :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.univ</groupId>
<artifactId>projet</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Projet</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
mardi 7 mai 13
Partie 1 : Introduction
Utilisez Maven pour compiler le projet
mvn compile
Testez les goals Maven suivants :
mvn clean
mvn package
Ajoutez ce projet à votre référentiel SVN
mardi 7 mai 13
Partie 2 : Design patterns
Concevez une librairie support d’une application de
réseau social permettant :
• s’authentifier en tant qu’utilisateur
• de créer, supprimer et afficher des articles (texte simple),
• d’entrer en relation avec des amis (ajouter / supprimer une
relation)
Respectez le principe de structuration par couche : Modèle,
Accès au données, Service
Détaillez uniquement les interfaces et les classes de la
couche Modèle
mardi 7 mai 13
Partie 2 : Design patterns
Créez les éléments à partir de votre
conception au sein du projet Maven
Les implémentations de vos interfaces
doivent être réalisées
• «en mode réel» pour le service
• «en mode bouchon» pour les DAO (retournant
des données de test)
mardi 7 mai 13
Partie 2 : Design patterns
Créez un test unitaire vérifiant la
fonctionnalité d’authentification
Créez un package de votre librairie à
l’aide de Maven
mvn package
Vérifiez l’exécution de votre test unitaire
avec Maven
mardi 7 mai 13
Partie 4 : Intégration continue
Ouvrez Jenkins : http://localhost:8080/
Choisissez «Administrer Jenkins» et
vérifiez votre configuration.
Vous devez obligatoirement disposer de
• JDK
• Maven
• SVN
mardi 7 mai 13
Partie 4 : Intégration continue
Créez un nouveau Job en mode libre
Saisissez les paramètres SVN
Ajoutez l’étape de Build demandant
l’invocation du goal maven package
Ajoutez l’étape «Post build» compilant les
résultats de tests unitaires
Lancez un build et vérifiez son exécution
mardi 7 mai 13
mardi 7 mai 13
Téléchargement