Demo¶
Trame¶
- expliquer le besoin et montrer le processus de build automatique
- commit d'un chemin absolu
- affichage du mail became unstable
- jenkins: construction/résultats des tests/FileConnector
- demo config
- demande de projet + mail de validation
- connexion jenkins
- installation plugin git
- configurer JDK, Maven
- config cloud, test connexion
- création template
- instanciation slave (optionnel)
- création job
- conclusion
- correction du chemin + commit
- affichage du mail back to stable
- 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