SlideShare a Scribd company logo
1 of 15
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

Similar to Jenkins_UserMeetup_Paris_201105

DTrace Topics: Introduction
DTrace Topics: IntroductionDTrace Topics: Introduction
DTrace Topics: IntroductionBrendan Gregg
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Anthony Dahanne
 
How to Monitor Microservices
How to Monitor MicroservicesHow to Monitor Microservices
How to Monitor MicroservicesSysdig
 
Creating an effective developer experience on Kubernetes
Creating an effective developer experience on KubernetesCreating an effective developer experience on Kubernetes
Creating an effective developer experience on KubernetesLenses.io
 
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-orsCharacterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-orsLee Calcote
 
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011Mike Long
 
CMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessCMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessMarcus Hanwell
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
LTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingLTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingChristian Babeux
 
Непрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаSQALab
 
Jython for embedded software validation
Jython for embedded software validationJython for embedded software validation
Jython for embedded software validationPyCon Italia
 
Drupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study CaseDrupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study CaseEmanuele Quinto
 
In-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker ContainersIn-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker ContainersNeil Gehani
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopWeaveworks
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Kubernetes Java Operator
Kubernetes Java OperatorKubernetes Java Operator
Kubernetes Java OperatorAnthony Dahanne
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionPatrick Chanezon
 

Similar to Jenkins_UserMeetup_Paris_201105 (20)

DTrace Topics: Introduction
DTrace Topics: IntroductionDTrace Topics: Introduction
DTrace Topics: Introduction
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018
 
How to Monitor Microservices
How to Monitor MicroservicesHow to Monitor Microservices
How to Monitor Microservices
 
Cont0519
Cont0519Cont0519
Cont0519
 
Creating an effective developer experience on Kubernetes
Creating an effective developer experience on KubernetesCreating an effective developer experience on Kubernetes
Creating an effective developer experience on Kubernetes
 
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-orsCharacterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
Characterizing and contrasting kuhn tey-ner awr-kuh-streyt-ors
 
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011C++ for Marine Streamer Positioning and Navigation - ACCU 2011
C++ for Marine Streamer Positioning and Navigation - ACCU 2011
 
CMake: Improving Software Quality and Process
CMake: Improving Software Quality and ProcessCMake: Improving Software Quality and Process
CMake: Improving Software Quality and Process
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
LTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingLTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space Tracing
 
Непрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кода
 
Jython for embedded software validation
Jython for embedded software validationJython for embedded software validation
Jython for embedded software validation
 
Drupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study CaseDrupal & Continous Integration - SF State Study Case
Drupal & Continous Integration - SF State Study Case
 
In-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker ContainersIn-Cluster Continuous Testing Framework for Docker Containers
In-Cluster Continuous Testing Framework for Docker Containers
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Kubernetes Java Operator
Kubernetes Java OperatorKubernetes Java Operator
Kubernetes Java Operator
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 

More from Gregory Boissinot (20)

Practical Software Architecture DDD
Practical Software Architecture DDDPractical Software Architecture DDD
Practical Software Architecture DDD
 
DDD Introduction
DDD IntroductionDDD Introduction
DDD Introduction
 
SOAT Agile Day 2017 DDD
SOAT Agile Day 2017 DDDSOAT Agile Day 2017 DDD
SOAT Agile Day 2017 DDD
 
DevDay2017 ESGI Essential DDD
DevDay2017 ESGI Essential DDDDevDay2017 ESGI Essential DDD
DevDay2017 ESGI Essential DDD
 
Beyond Relational Databases
Beyond Relational DatabasesBeyond Relational Databases
Beyond Relational Databases
 
Paris Redis Meetup Introduction
Paris Redis Meetup IntroductionParis Redis Meetup Introduction
Paris Redis Meetup Introduction
 
Paris Redis Meetup Starting
Paris Redis Meetup StartingParis Redis Meetup Starting
Paris Redis Meetup Starting
 
PZ_Microservices101_20150210
PZ_Microservices101_20150210PZ_Microservices101_20150210
PZ_Microservices101_20150210
 
Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013Spring Integration JUG SummerCamp 2013
Spring Integration JUG SummerCamp 2013
 
gradle_nantesjug
gradle_nantesjuggradle_nantesjug
gradle_nantesjug
 
gradle_lavajug
gradle_lavajuggradle_lavajug
gradle_lavajug
 
Jenkins-meetup
Jenkins-meetupJenkins-meetup
Jenkins-meetup
 
JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003
 
Gradle_Paris2010
Gradle_Paris2010Gradle_Paris2010
Gradle_Paris2010
 
Gradle_LyonJUG
Gradle_LyonJUGGradle_LyonJUG
Gradle_LyonJUG
 
Gradle_NormandyJUG
Gradle_NormandyJUGGradle_NormandyJUG
Gradle_NormandyJUG
 
Gradle_BreizJUG
Gradle_BreizJUGGradle_BreizJUG
Gradle_BreizJUG
 
Gradle_BordeauxJUG
Gradle_BordeauxJUGGradle_BordeauxJUG
Gradle_BordeauxJUG
 
Gradle_ToulouseJUG
Gradle_ToulouseJUGGradle_ToulouseJUG
Gradle_ToulouseJUG
 
Gradle_ToursJUG
Gradle_ToursJUGGradle_ToursJUG
Gradle_ToursJUG
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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