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
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