Buildbot : le logiciel utilisé pour compiler et tester automatiquement les modifications dans OASIS3-MCT



Documents pareils
Les différentes méthodes pour se connecter

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Installation et compilation de gnurbs sous Windows

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

Tutoriel code::blocks

Outils de développement collaboratif

Automatisation de l administration système

Builds et tests Utilisation de CMake et de Dart

Gestion d identités PSL Exploitation IdP Authentic

Projets de stage. Présentation

HISTOIRE D UNE DIGITAL FACTORY

WGW PBX. Guide de démarrage rapide

Windows Serveur 2008

Procédure d installation de la solution Central WiFI Manager CWM

Installation et prise en main

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Manuel d'exploitation de l'application Vitamin version 1.0

Réaliser un inventaire Documentation utilisateur

Le Client/Serveur avec Enterprise Miner version 4

Introduction à Eclipse

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

Installation de Smokeping sur Debian

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Installation du transfert de fichier sécurisé sur le serveur orphanet

Bacula. It comes by night and sucks the vital essence from your computers. Guillaume Arcas

pythonocc: une plateforme de développement agile d applications CAO.


Parallels Plesk Panel. Module Pare-feu de Parallels Plesk Panel 10 pour Linux/Unix. Guide de l'administrateur

Importation de fichiers Eagle

Sécurité des réseaux sans fil

ProCurve Manager Plus 2.2

sshgate Patrick Guiran Chef de projet support

TD/TP 1 Introduction au SDK d Android

KWISATZ MODULE PRESTASHOP

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Guide de démarrage Intellipool Network Monitor

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Cellier Clément, Maginot Quentin, Tripier Axel, Zaorski Jean, Zini Robin. 18 mars 2015

Votre premier projet Android

Gestion de configuration

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Le langage C. Séance n 4

Profils d installation sous Drupal 7

Apprendre Java et C++ avec NetBeans

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Documentation pour administrateur Application AER

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

Automatiser la création de comptes utilisateurs Active Directory

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Serena Software. Damien Terrien Solution Architect

La création d un paquet Debian. Aurélien Jarno. Journées du Logiciel Libre. 15 octobre 2005

Gestion de clusters de calcul avec Rocks

Étude de l application DNS (Domain Name System)

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

Migration vers l'open-source de l infrastructure de pare-feu du campus CNRS d Orléans

TP développement : portage d applications sur le Cloud IaaS

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

Administration Switch (HP et autres)

Activer la connectivité des systèmes de stockage 3PAR

PG208, Projet n 3 : Serveur HTTP évolué

PostgreSQL, le cœur d un système critique

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Moderniser. le système d information et le portefeuille applicatif.

LAB : Schéma. Compagnie C / /24 NETASQ

Manuel de System Monitor

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

PRÉSENTÉ PAR : NOVEMBRE 2007

Galaxy Training days. Liste des sessions disponibles : Les formateurs :

Le filtrage de niveau IP

VAGRANT POUR LES DÉVELOPPEURS

Serveur de travail collaboratif Michaël Hoste -

< Atelier 1 /> Démarrer une application web

1 Description générale de VISFIELD

Les serveurs WEBUne introduction

Bacula R - The Network Backup Solution

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Introduction au Déploiement

avast! EP: Installer avast! Small Office Administration

Environnements et Outils de Développement Cours 1 Introduction

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Documentation Utilisateur/Développeur. Client de Monitoring CamTrace

Module 3. Création d objets utilisateur et ordinateur AD DS

SECURIDAY 2012 Pro Edition

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Guide de mise à jour BiBOARD

PCs embarqués CX1020. Mise en œuvre rapide

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

Tekla Structures Guide de l'administrateur sur l'acquisition de licences. Version du produit 21.1 septembre Tekla Corporation

Prérequis. Installation SNMP sous ESX. Date 19/01/2011 Version 1.1 Référence 001 Auteur Quentin OZENNE

Transcription:

Buildbot : le logiciel utilisé pour compiler et tester automatiquement les modifications dans OASIS3-MCT Cluc du 08/09/2015 Laure Coquart

Plan de la présentation - Tests pour valider les modifications dans OASIS3-MCT - Présentation générale de Buildbot - Fichier de configuration master.cfg de Buildbot pour OASIS3-MCT - Résultats 2

Validation d OASIS3-MCT - Construction des tests au fur et à mesure, depuis OASIS3-MCT_1.0 (2012) - Utilisation de modèles jouets : tests des fonctionnalités du coupleur ou des configurations des utilisateurs - Validation initiale de chaque test «à» la main état «de référence» - Déroulement d un test (scripts): Modifications dans OASIS3-MCT envoi des sources et des modèles jouets sur la machine de travail compilation de la dernière révision d OASIS3-MCT lecture du fichier de configuration associé au test : nom du modèle jouet, Makefile utilisé, namcouple utilisée, nombre de processeurs par composantes, champs «debug» à vérifier et tracer 3

Validation d OASIS3-MCT - Déroulement d un test (suite) : compilation du modèle jouet utilisé sur la machine de travail (run) lancement du modèle jouet sur la machine travail (run) création des fichiers résultats (run terminé correctement ou pas, valeurs champs de couplage, valeurs champs de restart, statistiques) (run) comparaison des fichiers résultats avec les fichiers de référence (verif) comparaison de chaque fichier «mono» avec le fichier «para» (verif) - Actuellement 24 modèles jouets (avec 1, 2 ou 3 composantes) utilisés pour faire 290 tests pour OASIS3-MCT_3.0 (260 pour 2.0) sur 4 machines Automatisation des tests avec Buildbot 4

Buildbot: présentation Choisi pendant le développement d OASIS4 car utilisé par le DKRZ Résultats très visuels et très simples : vert = OK, rouge = pas OK basés sur les codes d erreur du shell 5

Buildbot: présentation - Ecrit en Python + Twisted (http, ssh) - Le maître (Buildmaster) lit un fichier de configuration master.cfg - Il «écoute» le serveur SVN ou git (gestion de codes via des révisions) - Quand il y a une mise à jour il transfère ces infos aux Schedulers - Les Schedulers gèrent le lancement des Builders sur chaque machine de travail (Buildsalve), une fois que les modifications sont stables. - Les Builders correspondent à la description exacte des tests à faire (Build). Il y a un Build par Buildslave 6

Buildbot: fichier de configuration master.cfg : code python définissant un dictionnaire, BuildmasterConfig, via des clés c = BuildmasterConfig = {} Nom ####### BUILDSLAVES s1=buildslave( corail_oa3-mct_3.0", "build2014") s2,s3,s4= BuildSlave( ) c['slaves'] = [s1,s2,s3,s4] c['slaveportnum'] = 9989 Mot de passe corail, neptune, beaufix, napali Port TCP pour ecouter SVN et communiquer avec les «Buildslaves» ####### CHANGESOURCES svnroot ="http://oasis3mct.cerfacs.fr/svn/branches/oasis3-mct_3.0_branch/oasis3-mct" c['change_source'].append(svnpoller(svnurl=svnroot,pollinterval=60*10, svnbin="/usr/bin/svn")) Intervalle d écoute du serveur 7

Buildbot: fichier de configuration ####### SCHEDULERS tests = SingleBranchScheduler(name="tests",branch=None,treeStableTimer=36000, buildernames=["tests_corail_3.0", "tests_neptune_3.0 ", "tests_beaufix_3.0","tests_napali_3.0"]) c['schedulers'] = [tests] Attente avant lancement ####### BUILDERS f1 = factory.buildfactory() Description du Build sur corail ( 290 tests) ### Récupération des sources et envoi sur la machine de travail f1.addstep(shellcommand(command='svn checkout file:///home/oasis/oasis3mct/branches/oasis3-mct_3.0_branch/oasis3-mct. ;... ; svn checkout file:///home/oasis/oasis3mct/trunk/examples. ', haltonfailure=true)) 8

Buildbot: fichier de configuration ####### BUILDERS ### Tests avec les modèles jouets «step by step» f1.addstep(shellcommand(command='echo "Run" ; ssh corail $dir_bench/run_examples_m2_oa3-mct_buildbot corail 0 1', haltonfailure=true)) f1.addstep(shellcommand(command='echo "Verif" ; ssh corail $dir_bench/verif_files_m2_oa3-mct_buildbot corail 0 1', haltonfailure=true)) f1.addstep(shellcommand(command='echo "Return code" ; ssh corail /home/globc/coquart/end_of_verif_casename1', haltonfailure=true)) f2 = factory.buildfactory() Description du Build sur neptune ( 290 tests) f3 = factory.buildfactory() Description du Build sur beaufix ( 290 tests) f4 = factory.buildfactory() Description du Build sur napali ( 290 tests) Numéro de fichier de config 9

Buildbot: fichier de configuration buildername dans les Schedulers BuildSave b1 ={'name': "tests_corail_3.0", 'slavename': "corail_oa3-mct_3.0", 'builddir': "subdir_slave_corail_oa3-mct_3.0", 'factory': f1,} b2 = Sauvegarde des logs b3 = b4 = c['builders'] = [b1,b2,b3,b4] Pour autoriser le lancement et l arrêt via le web ####### STATUS TARGETS authz_cfg = Authz( forcebuild=true, stopbuild=true) c['status'].append(html.webstatus(http_port=8012, authz=authz_cfg)) ####### PROJECT IDENTITY c['title'] = "OASIS3-MCT_3.0 c['titleurl'] = https://verc.enes.org/oasis c['buildboturl'] = "http://tioman.cerfacs.fr:8012/" Localisation des résultats sur le web 10

Buildbot: résultats buildbot create-master master_oa3-mct_3.0 buildslave create-slave slave_corail_oa3-mct_3.0 tioman.cerfacs.fr:9989 corail_oa3-mct_3.0 build2014 buildbot start master_oa3-mct_3.0 ; buildslave start slave_corail_oa3-mct_3.0 Lancement via le web buildername 11

Buildbot: résultats L ensemble des 4 «builds» prend environ 8 heures 12