EXPERTALKS: Apr 2012 - Continuous Integration using Jenkins
-
Upload
expertalks -
Category
Technology
-
view
783 -
download
0
description
Transcript of EXPERTALKS: Apr 2012 - Continuous Integration using Jenkins
www.equalexperts.com
What have you done before?
www.equalexperts.com
Are you familiar with these?
Dev – The functionality is working on my
machine
QA – Its not working on my machine :(
www.equalexperts.com
Are you familiar with these?
Dev – I have taken the updates and the code
is not compiling
Team – no idea :(
www.equalexperts.com
Are you familiar with these?
QA – This functionality is not working
Dev – I have checked yesterday, It was
working.
QA – But not now
www.equalexperts.com
Are you familiar with these?
BA/Product Owner – Can I see the current
application ?
Dev/QA – Give us some time
www.equalexperts.com
Are you familiar with these?
Architect – Don't worry about integrating to a
third part service now, will look at it before
releasing it
Dev – As you say
www.equalexperts.com
Are you familiar with these?
QA – Application is very flaky, it suddenly
stops working
Team – ?
www.equalexperts.com
What solves all these problems ?
Continuous Integration !!!
www.equalexperts.com
Continuous Integration - Cycle
www.equalexperts.com
Continuous Integration – Best Practices
Maintain a code repository
Automate the build
Make the build self-testing
Every commit should be built
Keep the build fast
Test in a clone of a production environment
Everyone can see the results of the latest build
Automate deployment
www.equalexperts.com
Advantages Developer detect and fix integration problem
continuously
Early warning of broken/incompatible code
Early warning of conflicting changes
Immediate unit testing of all changes
Constant availability of a “current” build for
testing/demo/release
Useful metrics generated – e.g. code coverage
www.equalexperts.com
Jenkins
www.equalexperts.com
Jenkins for Continuous Integration
Open Source
Easy to install
Easy to use
Multi-technology
Multi-platform
Widely used
Extensible
Free
www.equalexperts.com
Jenkins for a Developer Easy to install
Download one file – jenkins.war
Run one command – java –jar jenkins.war
Easy to use
Create a new job – checkout and build a small project
Checkin a change – watch it build
Create a test – watch it build and run
Fix a test – checkin and watch it pass
Multi-technology
Build C, Java, C#, Python, Perl, SQL, etc.
Test with Junit, Nunit, MSTest, etc.
www.equalexperts.com
More Power – Jenkins Plugins
Software configuration management
Builders
Test Frameworks
Notifiers
Static Analyzers
www.equalexperts.com
Jenkins Plugins - SCMVersion Control Systems
Accurev Bazaar BitKeeper ClearCase Darcs Dimensions Git Harvest MKS Integrity PVCS StarTeam Subversion Team Foundation Server Visual SourceSafe
www.equalexperts.com
Jenkins Plugins – Analyzers
Static Analysis
Checkstyle CodeScanner DRY Crap4j Findbugs PMD Fortify Sonar FXCop
Code Coverage
Emma Cobertura Clover GCC/GCOV
www.equalexperts.com
Jenkins Plugins – Other Tools
Notification
Twitter Campfire Google Calendar IM IRC Lava Lamp Sounds Speak
Authorization
Active Directory LDAP
Virtual Machines
Amazon EC2 VMWare VirtualBox Xen Libvirt