Jenkins
(for JAVA world)
SDL - KHTP
Agenda
Introduction
Whats Continuous Integration?
CI Overview
Whats Jenkins?
Jenkins Architecture Overview
Execution Architecture
How we use Jenkins
Jenkins Features
Installation & Configuration
Requirement
Installation
Manage Jenkins
Jenkins Jobs
Build Steps
New Job
Configuring Job
Configure System
Configure Global Security
Manage Plugins
Manage Nodes
SCM Checkout
Pre-build Steps
Build Wrapper
Builder Runs
Recording
Notification
Jenkins Benefits
Conclusion
INTRODUCTION
Whats Continuous Integration (CI)?
Also referred to as "build automation"
Basic concept
o CI server continuously integrates newly
checked-in code into a build
o Runs unit tests and rejects the build if
they fail (Optional)
o Deploy builds to other servers
(Optional)
CI Overview
Whats Jenkins?
Continuous Integration (CI) server
Formerly known as Hudson
Java Based, Open source
o Runs in servlet container such as
Tomcat, JBOSS
Plugin Extensibility Support over 400
Jenkins Architecture Overview
Execution Architecture
Jenkins Features
Integrate with repository
Checkout the codes
Distributed Builds
Build and test
Generate test report
Notification
Archive and store in artifact repository
Deploy
JENKINS - INSTALLATION
Jenkins Requirements
Web Server (Tomcat, JBOSS, )
Build tool (Maven, Ant)
SCM (Svn, Git, )
Jenkins Installations
Download the WAR file from Jenkins
Homepage
Deploy it to the Tomcat server
Start the Tomcat service
Jenkins can be accessible thru
[Link]
Jenkins Main Page
CONFIGURE JENKINS
Jenkins Administration
Administrator
User
Manage Jenkins
Configure System
Configuring JDK & Build Tools
JDK
ANT
MAVEN
SVN
ARTIFACTORY
SMTP
Manage Jenkins
Configure Global
Security
Secure Jenkins
Manage Jenkins
Manage Plugin
Jenkins Plugins Manager
Jenkins Plugins Manager
Jenkins Plugins Manager
Manage Jenkins
Manage Nodes
Distributed Build
Jenkins Configure Node
Jenkins Configure Node
JENKINS JOBS
Jenkins Build Steps
Jenkins - New Job
CONFIGURE JENKINS
JOBS
Integration with external tools
Jenkins Job Configuration
Job Configuration Contd
Job Configuration Contd
Job Configuration Contd
Job Configuration Contd
Jenkins Sample Job Status Page
Jenkins Benefits
Jenkins plugins extensibility makes Jenkins
to adapt to many systems
Jenkins provides everything for a robust
continuous integration system which helps a
lot for team that practice Agile
Jenkins continuously providing access to
the working copies of software which
supports the Agile principle
Conclusion
CI is very important for complex projects
that practice Agile
Jenkins is very good CI build server due
to its ;
Core Features
Plugins Extensibility
Flexibility