Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 8

Intro to Jenkin

Chiranjeevi
26/06/2013
What's Jenkins?
• Continuous Integration (CI) server
• Open source, written in Java
o Runs as Java web application on container such as
Tomcat
• The product formerly known as Hudson
o Project was forked when Oracle made Hudson a
victim of their "kill all the cool open source projects
we inadvertently acquired" phase
o Oracle subsequently donated Hudson project to the
Eclipse Foundation, but too little too late
What's Continuous Integration?
• Also referred to as "build automation"
• Basic concept
o CI server continuously integrates newly checked-in
code into a build
o CI server also (optionally) runs unit tests and rejects
the build if they fail
o CI server can also (optionally) deploy builds to other
servers
How Does Jenkins Work?
• Integrates with source control
o Supports SVN, Git, and about any other SCM tool you can
think of via plugins
• Builds can be triggered either on a schedule or
by hitting a URL
o Scheduled builds can be configured in Jenkins
o URL-based builds can of course be hit from anything (cron +
curl, whatever) including as a post-commit hook in your SCM
tool
• What the build does is dictated by configuration
plus an Ant script
o You won't get very far with Jenkins without Ant
Jenkins Jobs
• A job in Jenkins defines a sequence of tasks
for Jenkins to perform
• Typically project-oriented
• When job is triggered, Jenkins looks for an
Ant script and runs it
• Can also define post-build tasks
o e.g. create WAR, copy files to another location, etc.
How We Use Jenkins

Developer SVN Server


commits code to

Jenkins
(master)

Application
Build
Server
server(node/sl
ave)
Other Cool Stuff About Jenkins
• Easy to install
o apt-get install on Linux, native Windows package
• Runs as a standard Java webapp
• Easy-to-use, web-based interface
• Scriptable
o Both via Ant as well as via URL triggers
• Plugins
o Compatibe with various plugins in the Jenkins
opensource market
Resources
• http://jenkins-ci.org
• https://github.com/jenkinsci

You might also like