EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

What is Jenkins?

By Priya PedamkarPriya Pedamkar

Home » Software Development » Software Development Tutorials » Jenkins Tutorial » What is Jenkins?

what-is-Jenkins

Introduction to Jenkins

  • Jenkins is a continuous integration automation tool (open source) which is installed on the server where build takes place. Continuous Integration refers to a process where developers commit their code into a commonly created repository as soon as they complete the development.
  • In the CI/CD process also results in increased overhead and hence we have pipelines in Jenkins to maintain the users and permissions tagged to them. The same is applied to increasing projects.
  • Once the building increase, the corresponding need increases to create test agents along with their maintenance.

What is Jenkins?

“Jenkins is a self-contained, open-source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software”.

So when the concept of continuous integration or continuous deployment is introduced then tools like Jenkins and circles come into the picture. But here we would be talking about Jenkins only.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Understanding Jenkins

  • Continuous integration pipeline is a set of sequential or parallel jobs, these jobs are designed to perform a set of tasks which are configured using the GUI interface.
  • As it got difficult to maintain the increasing number of projects, build, build revisions and copies, so the concept of Jenkins pipeline is introduced. This pipeline is called as jenkinsfile.
  • Jenkins also supports the docker and kubernetes like technologies where microservices are run.
  • At times there appears certain kind of issues like slowness due to the massive amount of logs getting generated.
  • Jenkins can result in high CPU usage, proportional to the number of users accessing the Jenkins.
  • Jenkins is vertically ( requires the hardware upscaling) and horizontally scalable (requires multiple Jenkins masters).
  • It is seen that having a single Jenkins master is pleasant, but the tradeoff has to be set between the availability and ease of handling, as in case the single master gets down then it will halt the business.
  • Jenkins slaves equally contribute testing along with the building, Jenkins provides the concept of parallel testing that makes the pipeline faster too.
  • High availability is provided along with failover handling with primary and secondary systems.

what is jenkins 1

How Jenkins Works ?

Before you start working with Jenkins there are certain pre-requisites those are to be met.

The recommended hardware is as follows –

  1. RAM >= 1GB
  2. Drive Space >= 50 GB would suffice.

The Software pre-requisites are as follows-

  1. Windows/Linux (preferably)
  2. JDK 8
  3. Servlet 3.1 compliant web containers have to be there.

There are two architectures in which we can make the design –

  1. Master-slave architecture
  2. Master-master architecture
  • We can set up the slave nodes from “Manage Nodes” page. Then specify the nodes and their names, then set the properties of nodes, associate slaves to masters and then start the slave nodes.
  • There are certain base technologies that shall be there are –
  1. Node package manager and GIT
  2. Eclipse IDE and Maven
  3. Database
  4. Junit or selenium like testing tools for automated testing
  5. Any environments like Docker (preferably) would do.

It works in three stages – Prebuild actions, Build Actions and Post Build Actions

In the PreBuild actions – There are JS minimizers to minimize and compress the code before putting it into the build, this is done using pre-build plugins. Along with this ant builder can be invoked in required cases, window batches, shell commands can be executed and maven targets can be invoked to provide the configuration files.

Popular Course in this category
Jenkins Training (4 Courses, 2+ Projects)4 Online Courses | 2 Hands-on Projects | 16+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (5,398 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)All in One Software Development Bundle (600+ Courses, 50+ projects)

The prebuild plugins do code push, polling, compiling, packaging and publishing.

In the Build Actions stage – The code submitted to this stage from the previous stage is compiled and tested.

In the Post Build stage – here codes are archived to the deployable formats and finally, they are pushed.

Why shall we use Jenkins?

  • Compatible to deploy the microservices with kubernetes and docker
  • The next application era would be of microservices based development only, as the need for scalability and availability arises for certain services only in maximum application scenarios. So the deployments and services can be pushed in an automated manner with Jenkins, just you need to give it shell scripts in the input and it can do rest of task for you.
  • The pipeline is supported.

What can you do with Jenkins ?

  • Create a process in two architectures as mentioned above.
  • If you want just one master you can go with that approach, if you need to match the availability constraints then you can go with many masters.
  • There are many open-source plugins to handle multiple jobs in an automated manner.
  • Monolithic or microservices based applications are well supported.

Advantages of Jenkins

  1. It is open source and continuous integration server in nature.
  2. Jenkins carries pipeline now.
  3. The delivery environment is provided from any language now.
  4. The product delivery process gets faster and thereby following the agile model in close conjunction.
  5. Jenkins is a CI/CD tool.
  6. Features like Role Based Access Control is provided.
  7. Jenkins is scalable thereby the availability and scalability issues can be met.
  8. Distributed teams can work and it’s easy to manage now.
  9. Container support is there.
  10. The LDAP server is an integral feature of its architecture.
  11. Jenkins 2.0 is backward compatible too.
  12. Job page configuration pages have come up in an improvised way with Jenkins 2.0

Why do we need Jenkins ?

  • For CI/CD process
  • These processes can be designed in an automated manner, coders commit the code, build with corresponding new revisions are made with just a click ( running the given scripts).
  • Is well supported by open-source plugins and reporting tools like Ant, Maven, Gradle, BitBucket,  NodeJs, etc.

Who is the right audience for learning Jenkins ?

  • Anyone in the DevOps role would love to incorporate this tool for automating the building process.
  • The novice web developers seeking a career as DevOps shall know how this tool works and how can we configure the build creation process.

How this technology will help you in career growth ?

  • This tool has evolved continuously with time and new versions have come up with microservices architecture support, this is the architecture to be followed in all large scale projects like Netflix, all this is going to be handled with Jenkins in the building process.

Conclusion

Jenkins is a CI/CD tool, open-source, compatible with various plugins, makes the life easy when software delivery has to be done on an agile basis.

Recommended Articles

This has been a guide to what is Jenkins. Here we have discussed How it works, Advantages and the Career growth of Jenkins. You may also have a look at the following articles to learn more –

  1. Install Jenkins
  2. JIRA Alternatives
  3. What is Selenium?
  4. Jenkins vs Hudson

Jenkins Training (4 Courses, 2+ Projects)

4 Online Courses

2 Hands-on Projects

16+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

1 Shares
Share
Tweet
Share
Primary Sidebar
Jenkins Tutorial
  • Basics
    • What is Jenkins
    • Is Jenkins Free
    • How to Install Jenkins
    • Uses of Jenkins
    • Jenkins Plugins
    • Jenkins Pipeline
    • Jenkins Backup
    • Jenkins Email Notification
    • Jenkins Interview Questions

Related Courses

Jenkins Training Course

Java Training Course

Software Development Course Training

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - Jenkins Training (4 Courses, 2+ Projects) Learn More