Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
DevOpsDays Montréal 2019 - Plusieurs changements ont eu lieu chez Croesus dans les trois dernières années. Cette étude de cas couvrent l’agilisation complet de notre compagnie et une rétrospective sur notre culture et nos pratiques DevOps. Quels ont été nos critères de succès et qu’avons-nous appris?
Quelques rappels de cours sur les bonnes pratiques liées à la modularisation des applications C/C++. Je présente en plus quelques astuces pour structurer une application C/C++ et son packaging.
http://joind.in/talk/view/11245
Dans notre économie numérique, ce n’est pas les gros qui mangent les petits, c’est les rapides qui mangent les lents. Les méthodes de gestion de projets informatiques traditionnelles ont mené à des échecs spectaculaires en termes de délais et de gestion de risque. En parallèle, des leaders du web tels qu’Amazon, Netflix ou Google ont atteint une vélocité incroyable grâce à une implémentation audacieuse des principes d’agilité. Parmi ces différents mouvements agiles, DevOps rassemble des experts du développement et de l’opérationnel sur la manière dont doit être implémentée l’agilité, de la conception technique jusqu’à la mise en production, pour atteindre une vélocité maximale. Dans cette conférence, je partagerai l’expérience de Theodo sur plusieurs projets de grande envergure (jusqu’à 15 développeurs). Je présenterai ce que DevOps signifie pour nous et comment il nous aide à livrer nos projets de manière plus rapide et plus fiable. Nous passerons en revue les challenges auxquels nous avons été confrontée, tant d’un point de vue management, technique ou culturel et présenterons les solutions que nous avons trouvées, basées sur des technologies puissantes : Symfony2, OpenStack, Puppet, Vagrant, Capifony, Jenkins, Behat et d’autres…
Microsoft Azure dev Ops pour le Cloud... et réciproquement…Microsoft
DevOps, au tout début il s'agit d'une idée. Cette idée est à l'origine d'un mouvement dont l'influence dans l'IT ne cesse d'augmenter.
De plus nous constatons que le succès de la mise en oeuvre d'une démarche DevOps et la réussite d'une évolution vers le Cloud sont intimement liés...
Avis d'expert faisant l'état des lieux des tests logiciels aujourd'hui et expliquant comment mettre en place un processus de "continuous testing" en ligne avec son usine logicielle.
DevOpsDays Montréal 2019 - Plusieurs changements ont eu lieu chez Croesus dans les trois dernières années. Cette étude de cas couvrent l’agilisation complet de notre compagnie et une rétrospective sur notre culture et nos pratiques DevOps. Quels ont été nos critères de succès et qu’avons-nous appris?
Quelques rappels de cours sur les bonnes pratiques liées à la modularisation des applications C/C++. Je présente en plus quelques astuces pour structurer une application C/C++ et son packaging.
http://joind.in/talk/view/11245
Dans notre économie numérique, ce n’est pas les gros qui mangent les petits, c’est les rapides qui mangent les lents. Les méthodes de gestion de projets informatiques traditionnelles ont mené à des échecs spectaculaires en termes de délais et de gestion de risque. En parallèle, des leaders du web tels qu’Amazon, Netflix ou Google ont atteint une vélocité incroyable grâce à une implémentation audacieuse des principes d’agilité. Parmi ces différents mouvements agiles, DevOps rassemble des experts du développement et de l’opérationnel sur la manière dont doit être implémentée l’agilité, de la conception technique jusqu’à la mise en production, pour atteindre une vélocité maximale. Dans cette conférence, je partagerai l’expérience de Theodo sur plusieurs projets de grande envergure (jusqu’à 15 développeurs). Je présenterai ce que DevOps signifie pour nous et comment il nous aide à livrer nos projets de manière plus rapide et plus fiable. Nous passerons en revue les challenges auxquels nous avons été confrontée, tant d’un point de vue management, technique ou culturel et présenterons les solutions que nous avons trouvées, basées sur des technologies puissantes : Symfony2, OpenStack, Puppet, Vagrant, Capifony, Jenkins, Behat et d’autres…
Microsoft Azure dev Ops pour le Cloud... et réciproquement…Microsoft
DevOps, au tout début il s'agit d'une idée. Cette idée est à l'origine d'un mouvement dont l'influence dans l'IT ne cesse d'augmenter.
De plus nous constatons que le succès de la mise en oeuvre d'une démarche DevOps et la réussite d'une évolution vers le Cloud sont intimement liés...
Avis d'expert faisant l'état des lieux des tests logiciels aujourd'hui et expliquant comment mettre en place un processus de "continuous testing" en ligne avec son usine logicielle.
Déploiement dans Azure depuis Visual Studio Team ServicesAdrien Siffermann
Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
Retour d'expérience de la migration de la base de connaissance docs.acquia.com de Drupal 6 à Drupal 8 au DrupalCamp Nantes 2016. Les thèmes principaux abordés sont : comment auditer et préparer sa migration, comment utiliser les nouvelles commandes Drush à notre disposition pour facilement mettre en place les conditions d'une migration réussie et quelques astuces glanées par l'expérience acquise au cours de cette migration somme toute assez complexe.
Au cours de cette session, nous plongerons avec vous dans le quotidien d’une startup qui vient de se lancer sur le Net.
Alors que les premiers utilisateurs affluent vers ses serveurs, l’équipe se retrouve confrontée à ses premiers problèmes de performance. Le prix du succès… ! Nous verrons avec eux comment simuler une arrivée massive d’utilisateurs pour “stresser” leur plateforme. Nous utiliserons les outils d’APM pour monitorer les serveurs et applications Java mais aussi évaluer l’expérience utilisateur. Enfin, nous proposerons une démarche et des outils pour tester la performance en continue.
Avec de nombreuses démos en live, cette session en français s’adresse aux développeurs, architectes et décideurs sur les projets IT.
Animé avec Landry DEFO KUATE (OCTO)
Matt Callanan takes the 15 chapters of the famous "Continuous Delivery" book by Jez Humble & Dave Farey and distills it down into 1 hour of convincing arguments, walking through the pieces involved to make it happen including cultural challenges, automated testing, automated deployment & deployment pipelines. Not sure how to get started with DevOps? Finding it hard to convince colleagues & managers that CD is the way forward? Matt has used this presentation to help facilitate enterprise-wide adoption of Continuous Delivery. Slides from a presentation given at DevOps Brisbane March 2014.
Learn how to practice configuration as code by using the Job DSL plugin for Jenkins. Find out how to organize Job DSL scripts and apply code reuse and refactoring to your Jenkins configuration. This talk will cover advanced techniques for large scale installations and show how to extend the Job DSL for your favorite plugins.
La mesure, ce n'est pas que pour le devopsOlivier Garcia
Présentation préparée par Olivier Garcia (@0livier) et Patrick Allaert (@patrick_allaert)
De plus en plus de techniciens se lancent dans l'entrepreneuriat, mais leurs projets échouent trop souvent par une identification du besoin erronée, un entêtement irrationnel ou une mauvaise exécution.
La méthode Lean Startup donne des pistes pour essayer de réduire ces risques afin que la solution proposée réponde au besoin réel du client. Cette présentation décrit brièvement cette méthode, insiste sur des points négligés par les développeurs et fournit des outils à utiliser tout au long du projet.
Presented at WordCamp Montreal 2014
Do you ever browse the WordPress Plugin Directory and wish you could see your creations up there? Have you ever written code for a personal site or customer and thought that others could benefit from having access to your work? ‘So, you want to be a plugin developer?’ covers numerous aspects of plugin development, including finding an idea for your plugin and securing a space for it in the directory, programming resources and code quality guidelines to make sure your add-on is top-notch, and more business-oriented topics like monetization and promotion. With all of these tips and tools in hand, your next idea could be the next great WordPress plugin.
Fonds de Tube emboutis ISO NFA 49185 et MétriquesDVAI
DVAI propose une gamme complète de Fonds de Tube emboutis ISO NFA 49185 et Métriques du diamètre 17.2mm au diamètre 609.6mm. Ces fonds sont stockés en permanence. Consultez notre site internet www.dvai.fr ou contactez nous au 01 64 84 50 50.
This document provides an agenda and instructions for a workshop on using JobDSL to configure Jenkins jobs. It introduces JobDSL and how it can be used to simplify Jenkins job configuration and maintenance. The workshop includes exercises to create simple jobs with JobDSL, generate jobs from a configuration file using loops in Groovy, and use the configure block to support plugins not directly supported by JobDSL. Running the JobDSL scripts within Jenkins jobs and understanding basic Groovy are covered.
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
Devoxx 2016 - L'odyssée du continuous deliveryDavid Caramelo
L'année 2015 a été une année avec de profonds changements et de défis pour la DSI de GBIS et pour le domaine des financements plus particulièrement. Nous avons pris un grand virage vers le Continuous Delivery et nous nous sommes "refactorés" de fond en comble. Au menu : passage en Feature Teams, mise en place du Trunk Based Development, livraisons gérées grâce à des Release Trains, Toggle Feature, adoption en masse du TDD, BDD. Nous avons connu un grand succès avec notre virage Agile. Voulez-vous connaître nos difficultés, victoires, ce qui a bien marché ou non ?
Au sein d’une démarche DevOps, le build et le déploiement continue sont les premiers piliers à mettre en place.
Cette session découverte de notre NighClazz “Build Tools & Continuous Delivery” a pour objectif de présenter les enjeux de l’automatisation, d’introduire les principaux outils de builds Java, de comprendre le mécanisme de livraison logicielle et de déploiement continue.
L’utilisation de PHP est aujourd’hui généralisée dans tous les départements IT. Reconnue pour son évolutivité et son développement rapide, cette technologie doit désormais répondre à de fortes attentes en termes d’exigences et de qualité.
Quels sont les outils nécessaires pour piloter une équipe de développement de taille importante et produire plusieurs centaines de site web par an ? L’heure de l’industrialisation est venue, avec la mise en place d’une planification et d’une organisation de la production de code capables de détecter les bogues avant la publication.
Nous verrons les outils et méthodes nécessaires pour piloter la conception, la production, la publication et la gestion d’équipe.
Soyons honnête : nous aimerions tous tester nos plateformes, nos codes, mais personne ne le fait vraiment bien. Heureusement, ce n’est pas une fatalité, et il n’est jamais trop tard pour tester ! La vraie question est : comment tester ? Derrière toute stratégie de tests efficace, il y a une connaissance de tous les types de tests disponibles, de leurs coûts et de leurs utilités. Tout au long de cette journée, nous allons vous détailler les différents types de tests, du test unitaire au test de charge, afin que vous puissiez évaluer la pertinence de chacun dans votre propre contexte.
Développement d'un grand projet piloté par les tests (BDD)Laurent PY
Déploiement de l'approche BDD (Behavior Driven Development) dans un grand projet billettique de 150 années/hommes avec des équipes distribuées. Par Hiptest et Parkeon
8 Rex : Mise en place de DevOps sur AzureaOS Community
Dans cette session vous découvrirez toutes les étapes de la mise en place d'une plateforme Répliquée sur plusieurs datacenters Azure, les enjeux derrière une telle infrastructure, mais aussi les contraintes que nous avons pu observer sur ce projet.
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? Christophe HERAL
Microsoft nous propose une nouvelle version de son outil d'ALM en cette fin 2012.
Nombre de fonctionnalités ont été rajoutées ou améliorées dans cette mouture, notamment pour mieux prendre en compte les besoins des agilistes.
Mais cette version va-t-elle satisfaire les plus réticents à l'utilisation d'un outil ou a-t-on affaire à une arnaque agile ?
Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...
Qualité & Industrialisation des développements mobiles sur iOS & AndroidThibaud CAVIN
Présentation d'une usine logicielle type pour iOS & Android permettant la compilation, la mise en place de tests automatisés unitaires et fonctionnels, le déploiement à distance sur les 2 plate-formes dominantes du marché mobile actuel
qualimétrie logiciel - Entreprise Software Analytic - nov 2015Julien Vq
Présentation en français
Comment évaluer la qualité d'un logiciel ?
Quels outils de qualimétrie logiciel choisir ?
Entreprise Software Analitic
Comment valider les livrables de vos fournisseurs avec le support d'ALL4TEST et de ces outils de qualimétrie ?
Retour d'expérience sur la mise en place d'usines logicielles chez MMA faite pour l'Ensim (Ecole Nationale Supérieure d'Ingénieurs du Mans), niveau Master. Contenu : définitions, processus de développement agile et étapes de déploiement.
Similaire à Intégration Continue (Agile Nantes) (20)
2. Introduction
Qui sommes nous ?
Fabian PIAU – fabian.piau@netapsys.fr
Ingénieur développement chez NETAPSYS
Diplômé MIAGE Nantes 2009
Sébastien ROUL – sebastien.roul@netapsys.fr
Directeur NETAPSYS Atlantique
15 ans de développement
Co-fondateur : www.nantes-jug.org
17/03/2010 Agile Nantes 2|26
3. Sommaire
Problématique
Agilité et Intégration Continue
Les concepts
Fonctionnement général
Les outils utilisés chez Netapsys
Retour d’expérience
Vision Développeur
Vision Chef de projet
Conclusion
17/03/2010 Agile Nantes 3|26
4. Problématique
Livrer un logiciel
De qualité
Avec le moins de bogues possibles (encore moins des régressions…)
Complètement testé (idéalement…)
En assurant une maintenance facile à long terme
Dans un temps restreint
Le plus rapidement
Mise en commun du développement Plusieurs personnes Besoin d’intégrer
Réutiliser des composants existants Développement modulaire
Avec un suivi rigoureux
Transparence pour le client
Rétroaction
17/03/2010 Agile Nantes 4|26
5. Outils
Un outil : L’Agilité
Des principes
Accepter le changement et l’accueillir favorablement
Apprendre à apprendre
Viser l’excellence technique
Remettre en cause les pratiques régulièrement
Des valeurs
La communication et la transparence
Le courage et la responsabilité
La solidarité et l’esprit d’équipe
L’humilité
La rétroaction
La simplicité
17/03/2010 Agile Nantes 5|26
6. Outils
Un autre outil : l’intégration Continue (IC)
Une méthode agile
Principe: plus l’intégration est fréquente, moins elle est longue
Sans IC
Avec IC
17/03/2010 Agile Nantes 6|26
7. Intégration Continue
Fonctionnement
général
Tout changement du code d’un logiciel est
immédiatement pris en compte par une
construction automatique d’intégration
17/03/2010 Agile Nantes 7|26
8. Intégration Continue
Construire des builds tous les jours…
Chargement de la dernière version du projet depuis le gestionnaire de
version
Compilation
Exécution des tests unitaires
Inspection du code (en vue de générer les métriques de qualité)
Génération de la documentation, des rapports, des notes de release
(par exemple la Javadoc, rapport Checkstyle)
Construction de la release
Déploiement de l’application sur l'environnement d’intégration
Exécution des tests d'intégration
17/03/2010 Agile Nantes 8|26
9. Intégration Continue
…Mais des builds différents!
Build local / privé
J’exécute un build sur ma machine
Compilation
Tests unitaires
Build d’intégration
Le serveur d’intégration exécute un build
Idem build local
Build de nuit
Le serveur exécute un build complet
+ Tests d’intégration
+ Documentation, rapports, métriques
+ Release / Déploiement
17/03/2010 Agile Nantes 9|26
10. Exemples d’outils
Les outils utilisés
Un gestionnaire de versions
SVN
Gestionnaire de dépendances, building
Maven
Tests unitaires
jUnit, Mockito, Eclemma
Un serveur d’intégration continue
Hudson
Repository manager
Artifactory
Outils de qualimétrie
Sonar
17/03/2010 Agile Nantes 10|26
11. Hudson
Les outils utilisés
Hudson, la « météo » de l’intégration continue
Un onglet = un projet
Différents types de build par projet
17/03/2010 Agile Nantes 11|26
12. Hudson
Le plugin Chuck…
17/03/2010 Agile Nantes 12|26
13. Hudson
Les outils utilisés
Configuration d’un build
Scrutage du SVN
17/03/2010 Agile Nantes 13|26
14. Hudson
Les outils utilisés
Configuration d’un build
La commande Maven à lancer, les notifications par email, etc.
17/03/2010 Agile Nantes 14|26
15. Maven
Les outils utilisés
Build de nuit
Utilisé pour la génération du Maven site
17/03/2010 Agile Nantes 15|26
19. IC au quotidien
Vision Développeur
Réduction du temps de correction des bogues
On intègre nos modifications régulièrement
En cas de build en échec, la portion de code à débugger est faible
Amélioration du travail collaboratif
La fin du « Ca marche sur mon poste pourtant ! »
Confiance entre le développeur et le logiciel
Le code et le design de l’application répondent aux exigences des standards, le résultat
du build est un produit complètement fonctionnel et testable
L’IC encourage des bonnes habitudes de test
17/03/2010 Agile Nantes 19|26
20. IC au quotidien
Vision Développeur
L’exécution régulière des tests et des outils d’inspection permettent de
recueillir les informations pour l’évaluation de la complexité, la détection des
codes potentiellement « malicieux »,…
Taux de couverture
Taux de duplication
Respect des conformités de Checkstyle
Checkstyle, PMD Respect des règles de codage et des bonnes pratiques
CPD, Simian Contrôle l’absence de copier/coller
JDepend Analyse de dépendance et respect des règles
d’architecture
JNCSS Contrôle de la complexité cyclomatique et de la
documentation technique
Sonar génère une compilation de tous ces rapports en prenant en compte
la notion d’historique
17/03/2010 Agile Nantes 20|26
21. IC au quotidien
Vision Chef de projet
L’intégration continue permet d’obtenir automatiquement des
indicateurs d’avancement et d’état qualitatif d’un projet en cours de
développement
L’objectif de la construction d’intégration est de produire un logiciel
exécutable qui peut être déployé et testé fonctionnellement. Une
démonstration avec le client est toujours possible
Les outils d’assurance qualité participent au contrôle des risques :
► Risque de faible qualité logiciel
► Risque de découverte tardive des défauts
17/03/2010 Agile Nantes 21|26
22. IC au quotidien
Vision Chef de projet
Sonar, un outil central
► Permet d’avoir une meilleure visibilité du projet. Il participe à la
rétroaction
► Synthétise les indicateurs d’assurance qualité produits par la
construction Maven et fournit une vision chronologique de l’évolution du
logiciel
► Sonar est le tableau de bord de l’état technique et qualitatif de
l’ensemble des projets de l’entreprise
17/03/2010 Agile Nantes 22|26
24. IC au quotidien
Vision Chef de projet
Pilotage / Suivi
► L’intégration continue est devenue un outil fondamental pour le pilotage
de nos projets : elle nous apporte plus de visibilité
Qualité / Productivité
► L’intégration continue est un formidable levier d’amélioration de notre
niveau d’expertise technique : elle est l’un des moteurs de nos gains en
termes de qualité et de productivité
Transparence / Rétroaction
► L’intégration continue est un élément différenciant par rapport à nos
concurrents : elle est révélatrice de notre positionnement stratégique
17/03/2010 Agile Nantes 24|26
25. La suite
Au sein de Netapsys
Intégration continue mis en place depuis deux ans sur l’ensemble
des projets.
Tous les nouveaux projets sont systématiquement « mavenisés » et
mis sous Hudson.
Une fois mise en place, l’intégration continue n’est pas quelque
chose de « figée »
Evolution sur l’intégration continue en 2010 :
Actuellement: tests unitaires avec JUnit sur les projets
Mise en place de tests intégration et scénarios métier avec Sélénium
17/03/2010 Agile Nantes 25|26
26. Le mot de la fin
Pour aller plus loin
http://martinfowler.com/articles/continuousIntegration.html
https://hudson.dev.java.net/
http://sonar.codehaus.org/
http://maven.apache.org/
Vous pouvez consulter un dossier sur l’IC sur mon blog technique :
http://blog.fabianpiau.com/2009/07/17/continuous-integration/
Vos questions
17/03/2010 Agile Nantes 26|26