Upgrade to Pro — share decks privately, control downloads, hide ads and more …

De Jenkins Maven/Freestyle à Pipeline

De Jenkins Maven/Freestyle à Pipeline

Tools In Action effectué à #DevoxxFR 2016, pour montrer l'utilisation de Jenkins Pipeline plugin pour sortir des multi-jobs et avoir une définition unique du processus de Continuous Integration et de Continuous Delivery pour un projet.

Adrien Lecharpentier

April 20, 2016
Tweet

More Decks by Adrien Lecharpentier

Other Decks in Programming

Transcript

  1. #JenkinsPipeline Il est fréquent de devoir produire plusieurs livrables à

    partir du même code source : war, jar, Docker Image, etc. 2
  2. #JenkinsPipeline Il est fréquent de devoir produire plusieurs livrables à

    partir du même code source : war, jar, Docker Image, etc. Saviez-vous que pour arriver à ce but, il est nécessaire de configurer plusieurs jobs ? 3
  3. #JenkinsPipeline Il est fréquent de devoir produire plusieurs livrables à

    partir du même code source : war, jar, Docker Image, etc. Saviez-vous que pour arriver à ce but, il est nécessaire de configurer plusieurs jobs ? Saviez-vous que pour ordonnancer ces jobs, il est nécessaire de configurer 5 à 10 plugins ? 4
  4. #JenkinsPipeline Il est fréquent de devoir produire plusieurs livrables à

    partir du même code source : war, jar, Docker Image, etc. Saviez-vous que pour arriver à ce but, il est nécessaire de configurer plusieurs jobs ? Saviez-vous que pour ordonnancer ces jobs, il est nécessaire de configurer 5 à 10 plugins ? Parallèlement à cela, saviez-vous qu’il nest pas possible de versioner la configuration des jobs avec le projet ? 5
  5. #JenkinsPipeline Pipeline 7 DSL pour décrire la construction d’un projet

    1.0 : 25/11/2014 2.0 : 05/04/2016 Intégration aux plugins en cours (goo.gl/5lg30v) Standard avec Jenkins 2.0
  6. #JenkinsPipeline Quick word: Jenkins 2.0 8 Date de release :

    21/04/2016 Meilleure UI, meilleure UX (…) Migration 1.x → 2.0 Pipeline-as-code par défaut Questions : BOF Jenkins Jeudi
  7. #JenkinsPipeline Comment mutualiser des parties de Pipeline? 14 Il est

    possible d’utiliser Pipeline Global Library pour avoir un repository Git dans Jenkins qui fournira des classes, variables globales ou des functions utilisables au sein du Pipeline. https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Shared +Groovy+Libraries+Plugin
  8. #JenkinsPipeline Est-ce que Pipeline est disponible sur Jenkins 1.x? 15

    Les dernières versions de Pipeline nécessite l’utilisation de Jenkins 1.642.3 minimum. Mais le plugin a été introduit à l’origine sur la version 1.580.1 de Jenkins. Il est toutefois grandement recommandé d’utiliser la dernière LTS pour avoir toutes les fonctionnalités et bugfix de Pipeline.
  9. #JenkinsPipeline Pourquoi Pipeline est dorénavant en 2.0? 16 Les plugins

    Pipeline étaient initialement regroupés dans un même repository et étaient tous releasés en même temps. Seulement avec la maturité acquise des plugins, ils sont maintenant répartis sur des repositories Git différents pour facilité leurs améliorations, bugfixes et releases.
  10. #JenkinsPipeline Source 17 Jenkins 2.0 : https://jenkins.io/2.0/ Jenkins Pipeline :

    https://jenkins.io/doc/pipeline Projet : https://github.com/alecharp/simple-app.git