What is Jenkins ? Study Notes

Jenkins

Jenkins is a  open source continuous integration server

  • Jenkins (http://jenkins-ci.org/) is
    • Easy to install
    • Easy to use
    • Multi-technology
    • Multi-platform
    • Widely used
    • Extensible
    • Free



Jenkins Improving Your Productivity

  • Continuous integration can help you go faster
  • Detect build breaks sooner
  • Report failing tests more clearly
  • Make progress more visible

 


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.

 


Jenkins User Interface

 

Jenkins
Jenkins User Interface

 

Developer demo goes here

  • Create a new job from a Subversion repository
  • Build that code, see build results
  • Run its tests, see test results
  • Make a change and watch it run through the system
  • Languages
    • Java
    • C
    • Python

More Power – Jenkins Plugins

Jenkins has over 300 plugins

  • Software configuration management
  • Builders
  • Test Frameworks
  • Virtual Machine Controllers
  • Notifiers
  • Static Analyzers

 


Jenkins Plugins – SCM

Version Control Systems

Jenkins Plugins - SCM
Jenkins Plugins – SCM

  • Accurev
  • Bazaar
  • BitKeeper
  • ClearCase
  • Darcs
  • Dimensions
  • Git
  • Harvest
  • MKS Integrity
  • PVCS
  • StarTeam
  • Subversion
  • Team Foundation Server
  • Visual SourceSafe

 


Jenkins Plugins – Build & Test

Build Tools

  • Ant
  • Maven
  • MSBuild
  • Cmake
  • Gradle
  • Grails
  • Scons
  • Groovy

Test Frameworks

  • Junit
  • Nunit
  • MSTest
  • Selenium
  • Fitnesse

 


Jenkins Plugins – Analyzers

Static Analysis

  • Checkstyle
  • CodeScanner
  • DRY
  • Crap4j
  • Findbugs
  • PMD
  • Fortify
  • Sonar
  • FXCop

Code Coverage

  • Emma
  • Cobertura
  • Clover
  • GCC/GCOV

 


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

 


Jenkins for Teams

  • Multi-configuration jobs
  • Multi-stage jobs
  • Swarms to dynamically contribute capacity

 

Jenkins – Integration for You

Jenkins can help your development be

  • Faster
  • Safer
  • Easier
  • Smarter