SlideShare a Scribd company logo
Jenkins
             @Thales
                       Gregory Boissinot
                        Jérôme Vacher


                         May 27th, 2011



 Jenkins User Meetup                       1
•  Consultant and trainer at Zenika
    – Technical Architect at Thales for setting up continuous
      integration solutions

•  Jenkins committer
     – Author and maintainer of 15 plugins
     – Maintainer of 4 others plugins

•  Gradle Addict
    – Gradle Jenkins integration
    – Many Gradle conference in France



                              Jenkins User Meetup               2
•  CodeBuilding Domain Manager at Thales Corporate Services
    – Manage the IDE integration (Eclipse based to handle Java, C,
      C++, Ada, Python and Perl programming.)
    – Manage the Continuous Integration infrastructure based on
      Jenkins and Sonar
       •  his taken into account the Thales context and tooling accros
        T
       world wide Thales Entities


•  Personally
      •  alker in development environment till 16 years old.
       W
      • development support during 15 years in many languages and
      development infrastructures
   – and definitely Python addict,

                               Jenkins User Meetup                       3
•  Survey, Develop, integrate, deliver, deploy and support a
   continuous integration infrastructure at Thales.
     – Jenkins is the first central point.
     – Adaptation to C,C++,Ada languages needs.
     – Industrialise manual practises
     – Ensure tracability
     – Interoperates with vendor tools (ClearCase, klocworks ...)
     – Install, administrate, backup the system
     – Participate to the Jenkins community (open source voluntee)
     – Discuss best and worst practises.



                             Jenkins User Meetup                     4
JAVA     C/C++
                                                                              INTERNET



 Event           ADA      .NET                                  Clearcase

                                                                  Archiva

                                                                Artifactory

                                                                  Nexus

                                                                  DORM

Environment
                                  Jenkins



                                                                                Sonar
              ClearCase

                                        QA tools ...
                SVN

                GIT
                                                       DT Kit
                 ...

                           Jenkins User Meetup                                           5
•  SCM Plugins        •  xUnit integration •  Technical plugins
    – Clearcase            – xUnit (C++         – DTKit set
      (Rework)               Uni, PHP Unit,     – Jobrevision
    – Clearcase-             Ada Unit, ...)
                                                – FSTrigger
      release
                                                – ScriptTrigger
    – Agile4SVN (in   •  Metrics
      developement,      integration
                                                – CopyArchiver
      ClearVision)         – TusarNotifier      – ArtifactDeployer
                           – Cppcheck           – Variableextractor
•  Builders plugins
                         – CCCC
    – Gradle
                         – Doxygen
    – MSBuild
                         – GNAT
                         – Klocwork
                         – C++Test
                           Jenkins User Meetup                    6
C++Test


                                                                      DTKIT
                         Klocwork
                                                                               Health projects
                                              Metrics
                                                                                 Build status
                                              Reports
                         GnatCheck                                             Temporal Metrics
                Test
                                              (XML)
                                                                     Generic
         Rule checking                                               Reports

           Measure
                                …

           Coverage
                                                                      XML


                                                                                 Agregation

                                                                                   Timeline


Rule checking
                         …
                                                                 Sonar
                                                                 Rule
                                         Rules
                                        Extractor

                                               Jenkins User Meetup                                7
DTKIT                                                               DTKit
Validation
                 DTKIT
               Conversion                 DTKIT
                                                    JUNIT output
                                          REST

                                                      TUSAR output
    DTKit
  Validation                                               External
    Data                                                 libs & tools
                     DTKit
                   Conversion
                     Data               DTKIT
                                    Jenkins Maven
                                        Plguin




                         Jenkins User Meetup                                 8
NOSQL Data Storage




Gnatcheck output

                                                       XSD, XSL
AUNIT output


  Gnatmetrics output                   DTKIT                                   JUNIT output


                                                                               TUSAR output
                       Reports                             Reports
C++Test output
                                                                                       …



Klocwork output


       …




                                 Jenkins User Meetup                                          9
PHPUNIT(PHP)

 AUNIT (ADA)

                   Gallio (.NET)

  CppUnit (C)

                     BoosTest (C)

C++TestUnit (C)
                                                XUnit
           …
                                                Plugin

                     Xunit
                    Reports

                (XML, TXT, CSV, …)
                                                                             Jenkins




                                            JUnit
                                           Reports
                                   DTKit    (XML)                  Hudson
                                                                  Recorder
                                                                    (API)

                                            Jenkins User Meetup                        10
CppUnit output

 Gnatcheck output              Tusarnotifier
                                 Hudson
             …                    Plugin

           Metrics                                       TUSAR
           Reports                                       Reports

     (XML, TXT, CSV,
           …)




                                                                   Maven
                                          TUSAR
                                          Reports

                       DTKit                 (XML)




                                   Jenkins User Meetup                     11
Polling
Environment

                                              Jenkins




                                                    The richess is in
                                                      the polling
                                                       predicat
              JOB1           PUSH
                                       Repo


                               POLL
              JOB2




                 Jenkins User Meetup                                    12
•  A testing platform for testing regressions
     •  Plugins compatibility
     •  Jenkins core compatibility

•  BuildContextCapture
    •  Recording the context of a build
        •  for giving build tracability
        •  for displaying difference between two builds

•  A Generic Testing platform

•  Gradle Jenkins integration enhancement

                                Jenkins User Meetup       13
Serialized
                                        info files
                                          (.ser)     Display Diff in Hudson

                                                               JENKINS_HOME


Capturing all
 build info
 (infrastructure info,
jobs info, user info)




                                                     Potential Reproductibility

                                                          REST services




                  Jenkins User Meetup                                             14
 A   Test is[<]
                                            Test suite
        An   identity.

        A   set of parameters.

        A   method to launch it.     Prepare     Test 1   Test 2       …     teardown

        A
        method to get results.                                                     Test case
 Jenkins Roles

        Running,    Collect, Report
                                                                               Prepare    Run     collect teardown
        A   Test results display system.
                                                                                                     Local Project
                    Thales Control                                                                        Test
                   Job Test Manager     Test Job Manager Command line               Script           Infratructure
                     Infrastructure                        launcher            or executed tool
                                                                                                    test

                          Test Jobs Manager




                                                                                                                Outputs of test
                                   Test Result Repository     Other API for      Other API to
                                                               job runner        Start a test
                   Test Config Repository

IVV management
   Input test
   campaign
                                                  Jenkins User Meetup                                                             15

More Related Content

PPTX
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
PDF
JENKINS_OWF11_OSDC_PARIS20110924
PDF
Agile Testing Practices
PDF
Automated testing DrupalCamp in Asheville
PDF
From Requirements Management to Release with Git for Android System
PDF
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
PPT
Testing In Java
PDF
Develop Enterprise Java Applications | JBuilder
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
JENKINS_OWF11_OSDC_PARIS20110924
Agile Testing Practices
Automated testing DrupalCamp in Asheville
From Requirements Management to Release with Git for Android System
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Testing In Java
Develop Enterprise Java Applications | JBuilder

Similar to Jenkins_UserMeetup_Paris_201105 (20)

PDF
Continuous delivery - tools and techniques
PPTX
Selenium Camp 2012
PDF
Agile Edge Valtech
PDF
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
PDF
Web Content Management And Agile
PDF
Scalable Services For Digital Preservation Ross King
PDF
Vietmeyer Forge.Mil Overview
PDF
Continuous Delivery Overview
PDF
Of Bugs and Men
PDF
Of Bugs and Men (and Plugins too)
PPTX
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
PPTX
Unosquare SlideShare Presentation
PDF
Japan aws user group osaka study session #0 LT: DevOps
PDF
Постоянное тестирование интеграции
PDF
Mindtree mainframe tools.
PDF
Hadoop Summit 2010 Challenges And Uniqueness Of Qe And Re Processes In Hadoop
PPTX
Centralizing sequence analysis
PPTX
Collab net overview_june 30 slide show
PDF
Ashwini - Effective use of CI by QA
PDF
Expendables E-AppStore
Continuous delivery - tools and techniques
Selenium Camp 2012
Agile Edge Valtech
Ordina Planning & Scheduling Day - APS - quintiq 5 0 and beyond
Web Content Management And Agile
Scalable Services For Digital Preservation Ross King
Vietmeyer Forge.Mil Overview
Continuous Delivery Overview
Of Bugs and Men
Of Bugs and Men (and Plugins too)
Continuous Test Automation via CI (CodeMash 2012) - Automating the Agile way
Unosquare SlideShare Presentation
Japan aws user group osaka study session #0 LT: DevOps
Постоянное тестирование интеграции
Mindtree mainframe tools.
Hadoop Summit 2010 Challenges And Uniqueness Of Qe And Re Processes In Hadoop
Centralizing sequence analysis
Collab net overview_june 30 slide show
Ashwini - Effective use of CI by QA
Expendables E-AppStore
Ad

More from Gregory Boissinot (20)

PDF
Practical Software Architecture DDD
PDF
DDD Introduction
PDF
SOAT Agile Day 2017 DDD
PDF
DevDay2017 ESGI Essential DDD
PDF
Beyond Relational Databases
PDF
Paris Redis Meetup Introduction
PDF
Paris Redis Meetup Starting
PDF
PZ_Microservices101_20150210
PDF
Spring Integration JUG SummerCamp 2013
PDF
gradle_nantesjug
PDF
gradle_lavajug
PDF
Jenkins-meetup
PDF
JENKINS_BreizhJUG_20111003
PDF
Gradle_Paris2010
PDF
Gradle_LyonJUG
PDF
Gradle_NormandyJUG
PDF
Gradle_BreizJUG
PDF
Gradle_BordeauxJUG
PDF
Gradle_ToulouseJUG
PDF
Gradle_ToursJUG
Practical Software Architecture DDD
DDD Introduction
SOAT Agile Day 2017 DDD
DevDay2017 ESGI Essential DDD
Beyond Relational Databases
Paris Redis Meetup Introduction
Paris Redis Meetup Starting
PZ_Microservices101_20150210
Spring Integration JUG SummerCamp 2013
gradle_nantesjug
gradle_lavajug
Jenkins-meetup
JENKINS_BreizhJUG_20111003
Gradle_Paris2010
Gradle_LyonJUG
Gradle_NormandyJUG
Gradle_BreizJUG
Gradle_BordeauxJUG
Gradle_ToulouseJUG
Gradle_ToursJUG
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence

Jenkins_UserMeetup_Paris_201105

  • 1. Jenkins @Thales Gregory Boissinot Jérôme Vacher May 27th, 2011 Jenkins User Meetup 1
  • 2. •  Consultant and trainer at Zenika – Technical Architect at Thales for setting up continuous integration solutions •  Jenkins committer – Author and maintainer of 15 plugins – Maintainer of 4 others plugins •  Gradle Addict – Gradle Jenkins integration – Many Gradle conference in France Jenkins User Meetup 2
  • 3. •  CodeBuilding Domain Manager at Thales Corporate Services – Manage the IDE integration (Eclipse based to handle Java, C, C++, Ada, Python and Perl programming.) – Manage the Continuous Integration infrastructure based on Jenkins and Sonar •  his taken into account the Thales context and tooling accros T world wide Thales Entities •  Personally •  alker in development environment till 16 years old. W • development support during 15 years in many languages and development infrastructures – and definitely Python addict, Jenkins User Meetup 3
  • 4. •  Survey, Develop, integrate, deliver, deploy and support a continuous integration infrastructure at Thales. – Jenkins is the first central point. – Adaptation to C,C++,Ada languages needs. – Industrialise manual practises – Ensure tracability – Interoperates with vendor tools (ClearCase, klocworks ...) – Install, administrate, backup the system – Participate to the Jenkins community (open source voluntee) – Discuss best and worst practises. Jenkins User Meetup 4
  • 5. JAVA C/C++ INTERNET Event ADA .NET Clearcase Archiva Artifactory Nexus DORM Environment Jenkins Sonar ClearCase QA tools ... SVN GIT DT Kit ... Jenkins User Meetup 5
  • 6. •  SCM Plugins •  xUnit integration •  Technical plugins – Clearcase – xUnit (C++ – DTKit set (Rework) Uni, PHP Unit, – Jobrevision – Clearcase- Ada Unit, ...) – FSTrigger release – ScriptTrigger – Agile4SVN (in •  Metrics developement, integration – CopyArchiver ClearVision) – TusarNotifier – ArtifactDeployer – Cppcheck – Variableextractor •  Builders plugins – CCCC – Gradle – Doxygen – MSBuild – GNAT – Klocwork – C++Test Jenkins User Meetup 6
  • 7. C++Test DTKIT Klocwork Health projects Metrics Build status Reports GnatCheck Temporal Metrics Test (XML) Generic Rule checking Reports Measure … Coverage XML Agregation Timeline Rule checking … Sonar Rule Rules Extractor Jenkins User Meetup 7
  • 8. DTKIT DTKit Validation DTKIT Conversion DTKIT JUNIT output REST TUSAR output DTKit Validation External Data libs & tools DTKit Conversion Data DTKIT Jenkins Maven Plguin Jenkins User Meetup 8
  • 9. NOSQL Data Storage Gnatcheck output XSD, XSL AUNIT output Gnatmetrics output DTKIT JUNIT output TUSAR output Reports Reports C++Test output … Klocwork output … Jenkins User Meetup 9
  • 10. PHPUNIT(PHP) AUNIT (ADA) Gallio (.NET) CppUnit (C) BoosTest (C) C++TestUnit (C) XUnit … Plugin Xunit Reports (XML, TXT, CSV, …) Jenkins JUnit Reports DTKit (XML) Hudson Recorder (API) Jenkins User Meetup 10
  • 11. CppUnit output Gnatcheck output Tusarnotifier Hudson … Plugin Metrics TUSAR Reports Reports (XML, TXT, CSV, …) Maven TUSAR Reports DTKit (XML) Jenkins User Meetup 11
  • 12. Polling Environment Jenkins The richess is in the polling predicat JOB1 PUSH Repo POLL JOB2 Jenkins User Meetup 12
  • 13. •  A testing platform for testing regressions •  Plugins compatibility •  Jenkins core compatibility •  BuildContextCapture •  Recording the context of a build •  for giving build tracability •  for displaying difference between two builds •  A Generic Testing platform •  Gradle Jenkins integration enhancement Jenkins User Meetup 13
  • 14. Serialized info files (.ser) Display Diff in Hudson JENKINS_HOME Capturing all build info (infrastructure info, jobs info, user info) Potential Reproductibility REST services Jenkins User Meetup 14
  • 15.  A Test is[<] Test suite  An identity.  A set of parameters.  A method to launch it. Prepare Test 1 Test 2 … teardown  A method to get results. Test case  Jenkins Roles  Running, Collect, Report Prepare Run collect teardown  A Test results display system. Local Project Thales Control Test Job Test Manager Test Job Manager Command line Script Infratructure Infrastructure launcher or executed tool test Test Jobs Manager Outputs of test Test Result Repository Other API for Other API to job runner Start a test Test Config Repository IVV management Input test campaign Jenkins User Meetup 15