Open Source Continuous Integration Server
WHO AM I? Matt Anderson Moved to Dayton from Detroit eight years ago Software Engineer at Northrop Grumman
Open Source Continuous Integration Server
WHAT IS JENKINS? Monitors executions of repeated jobs Used primarily for continuously building and testing software projects, i.e. “Continuous Integration” or “CI” Previously known as “Hudson” http://jenkins-ci.org
WHO USES JENKINS? 5
WHY USE JENKINS? Immediate feedback on broken builds No building from dev machines and manually copying files Automated deployment Automated test execution and feedback
WHY USE JENKINS?
DASHBOARD This is the Jenkins Dashboard. 8
DASHBOARD Projects/Items can be organized into views. 9
DASHBOARD The build queue (pending builds) and currently executing builds are shown on the dashboard. 10
DASHBOARD The “S” column indicates the project’s last build status. Blue indicates success, red indicates failure, and grey means it is disabled. 11
DASHBOARD The “W” column shows build trends based on the last five builds. Sunny weather is better! 12
DASHBOARD The “W” column shows build trends based on the last five builds. Sunny weather is better! 13
PROJECT VIEW
PROJECT VIEW Click on a build to view that build’s history. 15
PROJECT VIEW Click on a build to view that build’s history. 16
PROJECT VIEW 17
WORKSPACE Zipping up the project workspace and copying to another PC to execute a manual build in your IDE can be useful for diagnosing build errors. 18
PROJECT VIEW
CONFIGURE
CONFIGURE The number of builds to keep can be specified to limit the amount of space used on the build server. 21
CONFIGURE
ADVANCED PROJECT OPTIONS
ADVANCED PROJECT OPTIONS Customizing the workspace can be useful if projects or dependencies expect a particular directory structure. 24
SOURCE CODE MANAGEMENT
SOURCE CODE MANAGEMENT Enter your SCM URL and credentials. A separate SCM account is preferable to using an individual’s credentials. 26
SOURCE CODE MANAGEMENT If a project has SVN externals, additional credentials are required. 27
BUILD TRIGGERS
BUILD TRIGGERS 29
BUILD
BUILD
BUILD Scripts can be used to deploy code as part of the build process. Since this is part of the build, Jenkins will mark the build as failed if the script returns/exits with a value that represents an error. 32
BUILD Scripts can be used to deploy code as part of the build process. Since this is part of the build, Jenkins will mark the build as failed if the script returns/exits with a value that represents an error. 33
POST BUILD ACTIONS
POST BUILD ACTIONS It is preferable to only send emails to individuals who broke the build; however, Jenkins is not currently configured with email addresses. Thus, individual recipients must be specified and every receives an email. 35
POST BUILD ACTIONS Customized email notifications Build other projects Create/update JIRA issues Publish Javadocs
PLUG-INS Over 600 plug-ins available for customization Examples: JIRA Ant Maven JUnit Javadoc SSH MSBuild NUnit PowerShell Email Notifications https://wiki.jenkins-ci.org/display/JENKINS/Plugins
LET’S DO THIS A final word of encouragement https://www.youtube.com/v/LkCNJRfSZBU&start=84&end=90&autoplay=1
QUESTIONS?