This presentation on Jenkins will help you understand what is Jenkins, issues before Jenkins came in, what is continuous integration, features of Jenkins, Jenkins architecture, and you will also see a case study using Jenkins. Jenkins is a continuous integration tool that allows continuous development, test and deployment of newly created codes. Jenkins is primarily a build and release tool, it was written originally by the community as a build and release tool. They did not target it as a continuous integration, continuous deployment or an orchestration tool, it was simply used for releasing builds to production but now Jenkins has a lot of other uses like it's a continuous integration tool. It allows developers to make sure that their environments have the exact same code as their code repositories. Now let us get started and understand how Jenkins is being used in DevOps.
Below topics are explained in this Jenkins presentation:
1. Before Jenkins
2. Issues before Jenkins
3. What is Jenkins?
4. What is continuous integration?
5. Continuous integration tools
6. Features of Jenkins
7. Jenkins architecture
8. Jenkins case study
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
Learn more at: https://www.simplilearn.com/
2. What’s in it for you?
Before Jenkins
Issues before Jenkins
What is Jenkins?
What is Continuous Integration?
Continuous Integration Tools
Features of Jenkins
Jenkins Architecture
Jenkins Case Study
3. What’s in it for you?
What’s in it for you?
Before Jenkins
4. Before Jenkins
Code
Repository
Issues in Integration
Delay in TestingDeveloper 3
Notify if there are bugs
Delay in release of
software
Irregular commits
Developer 2
Developer 1
5. Before Jenkins
Developers had to wait till the entire software code was built
and tested to check for errors
Developer 3
Developer 2
Developer 1
6. Before Jenkins
Developers had to check the entire source code to find the
errors. In such case, fixing bugs was very difficult
Developer 3
Developer 2
Developer 1
7. Before Jenkins
Code
Repository
Issues in Integration
Delay in testing
Notify if there are bugs
There was no iterative improvement of code and software
delivery process was slow
Developer 3
Developer 2
Developer 1
8. What’s in it for you?
What’s in it for you?
What is Jenkins?
9. What is Jenkins?
Jenkins is a Continuous Integration tool that allows continuous development, test and deployment of newly
created codes
All the codes will be
pulled only at night
Commit changes to
the source code
All the changes made to the
code are build together
Code is pulled whenever
there is a commit made to
the source code
Commit changes to
the source code
All the changes made to the
source code is build
continuously
Nightly build and integration Continuous build and Integration
10. What’s in it for you?
What’s in it for you?What’s in it for you?Version Control SystemWhat is Continuous
Integration?
11. What is Continuous Integration?
CI Server
A
Repository
Pass
Fail
Developers Tester
Errors
A A
Release and
Deploy
12. What’s in it for you?
What’s in it for you?What’s in it for you?Version Control SystemContinuous Integration Tools
14. Continuous Integration Tools
CI Tools
Buildbot
Bamboo is a CI tool that can run multiple builds in parallel for faster compilation. It has built in functionality to connect with
repositories and has build tasks for Ant, Maven, etc.
15. Continuous Integration Tools
CI Tools
Buildbot
Buildbot is an open-source framework for automating software build, test and release processes. It is written in Python and
supports distributed, parallel execution of jobs across multiple platforms.
16. Continuous Integration Tools
CI Tools
Buildbot
Apache Gump is designed with the aim to build and test all the open source Java projects, every night. It makes sure that all the
projects are compatible at both API level and functionality level.
17. Continuous Integration Tools
CI Tools
Buildbot
Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub. It’s
built for projects and team of all sizes and supports over 20 different languages.
18. Continuous Integration Tools
CI Tools
Buildbot
Jenkins is an open source automation server written in Java. It is used to automate software development process via
continuous integration and facilitates continuous delivery.
19. What’s in it for you?
What’s in it for you?
Features of Jenkins
20. Features of Jenkins
Easy
Installation
Easy Configuration Plugins Extensible Distributed
Jenkins is a self contained
Java-based program, ready to
run with packages for
Windows, Mac OS X and
Unix-like OS
21. Features of Jenkins
Easy
Installation
Easy Configuration Plugins Extensible Distributed
It can be easily set up and
configured via its web
interface which includes error
checks and built-in help
22. Features of Jenkins
Easy
Installation
Easy Configuration Plugins Extensible Distributed
It has hundreds of plugins in
the Update Center and
integrates with every tool in
the CI and CD toolchain
23. Features of Jenkins
Easy
Installation
Easy Configuration Plugins Extensible Distributed
Jenkins can be extended via
its plugin architecture and
provides nearly infinite
possibilities for what it can do
24. Features of Jenkins
Easy
Installation
Easy Configuration Plugins Extensible Distributed
It can easily distribute work
across multiple machines,
helping in faster builds, tests
and deployments across
multiple platforms
25. What’s in it for you?
What’s in it for you?
Jenkins Pipeline
29. Jenkins Architecture
Developer 2
Developer 1
Source code
repository CI server
Jenkins server checks the repository at regular intervals and pulls any newly
available code
30. Jenkins Architecture
Developer 2
Developer 1
Source code
repository Build serverCI server
Feedback
Build Server builds the code into an executable file. Here, Java file is being
converted into JAR file. In case the build fails, a feedback is sent to the
developers
31. Jenkins Architecture
Developer 2
Developer 1
Source code
repository Build server Test serverCI server
Feedback
Jenkins then deploys the build application on to test server for testing. If the test
fails, feedback is immediately passed on to the developers
32. Jenkins Architecture
Developer 2
Developer 1
Source code
repository Build server Test serverCI server
Production
server
Release
Feedback
If there are no errors, the tested application in then deployed on to the production
server
33. Jenkins Architecture
Developer 2
Developer 1
Source code
repository Build server Test serverCI server
Production
server
Release
Feedback
The files could be very large and may require multiple builds
Developer 3
Different code files
Single Jenkins server cannot handle multiple files and builds
34. Jenkins Architecture
Developer 2
Developer 1
Source code
repository Build server Test serverCI server
Production
server
Release
Feedback
Developer 3
We need distributed Jenkins architecture to overcome such issues
35. What’s in it for you?
What’s in it for you?Version Control SystemMaster - Slave
Architecture
36. Jenkins Master-Slave Architecture
Remote source
code repository
Jenkins Server (Master)
Jenkins slave Jenkins slave Jenkins slave
TCP/IPTCP/IPTCP/IP
Jenkins master pulls the code every
time there is a commit
• Jenkins master distributes its workload to all the slaves
• On request from Jenkins master, the slaves carry out builds and tests and produce test
reports
37. What’s in it for you?
What’s in it for you?
Jenkins Case Study
38. Jenkins Case Study
Automotive systems are becoming more sophisticated and
complex, so the focus for automotive manufacturers is
shifting from hardware to software
Many vehicle features, capabilities and performance
enhancements are being implemented in software
39. Jenkins Case Study
BOSCH found a growing need to help its software
engineers produce and deliver higher quality software
faster
Manage and streamline the development of increasingly
complex automotive software by adopting CI and CD
practices to shorten the entire development and delivery
process
CHALLANGE
40. Jenkins Case Study
CloudBees Jenkins platform helped them meet
the demands by reducing manual steps and duplication of
effort in their build, deploy and test processes
41. Jenkins Case Study
It helped them improve development efficiency by
increasing automation, stability and transparency
42. Jenkins Case Study
• 3 day build process reduced to less than 3 hours
• Large scale deployment kept on track by expert support
• Visibility and transparency improved with
Jenkins Operations support
RESULTS