Project

General

Profile

Demo

Trame

  1. expliquer le besoin et montrer le processus de build automatique
    1. commit d'un chemin absolu
    2. affichage du mail became unstable
    3. jenkins: construction/résultats des tests/FileConnector
  1. demo config
    1. demande de projet + mail de validation
    2. connexion jenkins
    3. installation plugin git
    4. configurer JDK, Maven
    5. config cloud, test connexion
    6. création template
    7. instanciation slave (optionnel)
    8. création job
  1. conclusion
    1. correction du chemin + commit
    2. affichage du mail back to stable
    3. affichage de la page d'accueil jenkins

Déroulement de la démo

Intro

http://ci.in2p3.fr

Cette vidéo présente le service d'intégration continue du Centre de Calcul de l'IN2P3 et montre les avantages que peuvent en tirer les équipes de développement. Elle illustre l'utilisation de ce service par l'équipe de développement du logiciel Lavoisier pour détecter de façon automatique toute modification de code qui pertuberait le processus de packaging.

eclipe/FileConnector.properties => chemin absolu

Imaginons qu'en comitant un code erroné

@commit "test du FileConnector"

(ici l'utilisation d'un chemin absolu pour tester la lecture d'un fichier) qui fonctionnerait sur mon poste de travail mais pas dans un autre environnement

-> push
-> lancer le build
-> ouvrir le mail

mail/unstable

Je puisse être averti par mail de mon erreur.

construction/résultats des tests/FileConnector

et identifier rapidement le code fautif

ci.in2p3.fr

Le service d'intégration continue permet de répondre à mon besoin. Voici comment s'y prendre

demande de projet: lavoisier/lionel.schwarz@in2p3.fr

Sur la page d'accueil, je clique sur "Create Project", j'indique le nom de mon projet et mon adresse mail. Puis je valide

- mdp dans presse papier
- wrap create si nécessaire
- ouvrir le mail

peu de temps après, je reçois un mail de validation avec mes informations de connexion et l'URL de mon serveur d'intégration. Je me connecte en utilisant le mdp indiqué.

ci.in2p3.fr/lavoisier

Je commence par configurer mon serveur, notamment la partie "Cloud". Les informations générales de paramétrage sont pré-remplies. Je vais pouvoir tout de suite configurer un modèle d'esclave, appelé aussi template.

template/name=ubuntu-14-04

Je choisis d'éxecuter les builds sur la version 14-04 de Ubuntu.

template/hardware=regionOne/3 ET image=.*ubuntu-14\.04.*

Je définis le type de ressources matérielles et la plate-forme

template/init script="apt-get -y install git g++"

la partie initScript me permet de lancer des commandes au démarrage de la machine virtuelle. J'utilise ce script pour installer git.

appliquer

Puis j'enregistre ma configuration.

- label=ubuntu
- retention=-1
- jenkins user=jenkins
- allow sudo
- root=/home/jenkins
- admin=ubuntu
- assign floating IP
- keypair name
- valider
- revenir sur administrer

Nouveau job/Maven

Je vais pouvoir maintenant créer mon job de build automatique, job de type Maven.

git://git.in2p3.fr/lavoisier, branche=VERSION3

J'indique tout d'abord que les sources sont disponibles dans git ... et que je veux builder la branche VERSION3

déclenche/scrutation, H/30 * * * *

L'élément déclencheur du build sera un commit sur le serveur git. Vérification qui sera faite chaque demi-heure.

configuration/notification

Enfin j'indique une ou plusieurs adresses mail qui seront notifiés des erreurs de build. Et je valide.

- restreindre=ubuntu
- valider
- eclipse/FileConnector.properties

path relatif + commit

Et voilà, à partir de maintenant, chaque commit qui cassera un build ou qui au contraire réparera un build cassé sera automatiquement repéré par le système d'intégration continue

- push
- build
- ouvrir le mail

mail back to stable

et les développeurs seront notifiés immédiatement

conclusion crédits, contacts