Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Jenkins @Thales Gregory Boissinot Jérôme Vacher May 27th, 2011 Jenkins User Meetup 1
  2. 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. 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. 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. 5. JAVA C/C++ INTERNET Event ADA .NET Clearcase Archiva Artifactory Nexus DORMEnvironment Jenkins Sonar ClearCase QA tools ... SVN GIT DT Kit ... Jenkins User Meetup 5
  6. 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. 7. C++Test DTKIT Klocwork Health projects Metrics Build status Reports GnatCheck Temporal Metrics Test (XML) Generic Rule checking Reports Measure … Coverage XML Agregation TimelineRule checking … Sonar Rule Rules Extractor Jenkins User Meetup 7
  8. 8. DTKIT DTKitValidation 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. 9. NOSQL Data StorageGnatcheck output XSD, XSLAUNIT output Gnatmetrics output DTKIT JUNIT output TUSAR output Reports ReportsC++Test output …Klocwork output … Jenkins User Meetup 9
  10. 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. 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. 12. PollingEnvironment Jenkins The richess is in the polling predicat JOB1 PUSH Repo POLL JOB2 Jenkins User Meetup 12
  13. 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. 14. Serialized info files (.ser) Display Diff in Hudson JENKINS_HOMECapturing all build info (infrastructure info,jobs info, user info) Potential Reproductibility REST services Jenkins User Meetup 14
  15. 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 RepositoryIVV management Input test campaign Jenkins User Meetup 15