case study on Jenkins

MD MOQADDAS
7 min readMay 4, 2021

--

In this article, I am going to fully discuss

→what is Jenkins

→Why we use Jenkins

→ Who developed Jenkins

→ how to configure Jenkins.

→ Some common point like Job, Plugin, View, Pipeline, Jenkins Security

→Jenkins and Android

→Jenkins and C/C++

→Jenkins and Docker

→Jenkins and GitHub

→Jenkins and Java

Let’s assume a shopkeeper cook “samosa” at a point in time, a customer comes and tells that I need one hot “samosa”, then the shopkeeper tells that “samosa” cooks at a point in time, not at all time.

Man can cook limited samosa but an automation server can do as much as you want.

But shopkeepers think it would be very good for business when clients demand hot “samosa” and we can able to serve, Indirectly I can say shopkeeper want Continuous Integration and Continuous Delivery so that's why Jenkins is a tool that is used for Continuous Integration and Continuous Delivery, Now a Day’s Jenkins is used by almost all the Industry to grow their business.

CI/CD
Pipeline

What is Jenkins?

Jenkins is an automation server for building, testing, reporting, packaging, deploying, automate the part of software development, facilitating continuous integration and continuous delivery.

Jenkins doesn’t know how to connect with SCM, Docker, Kubernetes, etc. Jenkins understands by using Plugin so before telling we have to install the plugin in Jenkins.

Why we use Jenkins-:)

Jenkins can be used as a build server to execute jobs and automate tests. Jenkins accelerates the software development process by automating the process. It uses plugins to achieve continuous integration of various DevOps stages.

→Faster Development

→Better Software Quality

→Easily Customisable

→Effortless Auditing Of Previous Run

→Large Community

Who Developed Jenkins -:)

The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke Kawaguchi, while he worked for Sun Microsystems. Kohsuke was a developer at Sun and got tired of incurring the wrath of his team every time his code broke the build.

Advantages of Jenkins -:)

  • It is an open-source tool with great community support.
  • It is easy to install.
  • It has 1000+ plugins to ease your work.
  • It is free of cost.
  • It is built with Java and hence, it is portable to all the major platforms.

How to configure Jenkins in Red Hat Enterprise Linux 8 -:

First, I want to tell you one thing Jenkins builds with Java language so we need JDK and Jenkins software.

Click on “JDK Download”
Download accordingly but for rhel8 marked

After download installs it by using the command

“rpm -ivh jdk-16_linux-aarch64_bin.rpm”

Do steps two installs in Red hat Linux

After this only start and allow in firewall

“systemctl start jenkins” → To start the jenkins service

“systemctl enable jenkins” → To enable permanent jenkins serivce.

“systemctl stop firewalld” → To stop firewalld or you can allow port 8080 also.

To access Jenkins use a URL like “localhost:8080”.

Some Basic Point of Jenkins -:)

1.Job -: It is a way to instruct the Jenkins

to click on “New Item”
After click on OK
This is the steps we do normally here

→ According to requirement, we build our job but in the demo only I am going to run simple date command so that you can feel it how it work

Click on “Build” and select Execute Shell and put the command whatever you want
After click on “save” the job dashboard look like

→ My intention to run the job so now click on “Build Now” to run

#1 tells that first build click on it to see further
This is the output

The whole and sole motto would be only to see how we can execute the command as a Jenkins Job.

2.Plugins -: Jenkins know how to do a particular job or integrating many technologies by using Plugins only

For each tool, we need to install a plugin according to the requirement but now I am going to show How to download HTML Publisher Plugins.

Click on “Manage Jenkins”
First, click on “Available”, put the name of plugin and then click on last marked
It will be downloaded automatically, after this click to restart Jenkins.

3. View -: It is a way to create not pipeline but automate the jobs with each other

Note -: There are many plugins to create a different kind of view

These are commonly used to build view but for this, we have to install the following plugin

Download the following plugins(How to download mentioned above)

1.Build Pipeline Plugin

2.Delivery Pipeline Plugin

List View -:

These are jobs (in my case) select and automate accordingly

Build Pipeline View -:

dashboard

Delivery Pipeline View -:

dashboard

4.Pipeline -:) 99% we leverage Jenkins with pipeline in real world

First, we have to install a plugin called “pipeline”

We write here code to create a pipeline or we download the code from SCM by created by developer
After click on “Build Now” the pipeline runs and see logs

5. Jenkins Security -:

See Jenkins is a pure CI/CD tool and used almost everywhere, So Jenkins server configured once, we can create many users to login Jenkins server and manage resources according to the job.

So that’s why Jenkins security helps to create a user and restrict the user also.

Jenkins and Android -:)

As one of the predominant mobile platforms, Android is attractive to a number of developers, but it does bring its own set of challenges with it. With an extremely broad set of devices available on the market, building and testing for the matrix of device configurations can be very challenging. With the Android emulator plugin, however, it is possible to build and test on a myriad of emulated devices.

When combined with the Google Play Publisher plugin, Android developers can build a true continuous delivery pipeline, sending builds to an alpha channel in Google Play for release or further testing.

Jenkins and C/C++ -:)

We can collect warning from the compiler and according to the warning we can suggest or change like Grammarly, AWS Code Guru like services we can create own

Jenkins and Docker -:)

We can connect Jenkins with docker, after this, we can launch containers, create images, etc.

Jenkins and GitHub -:)

As soon as the developer pushes the code in the GitHub repo, Jenkins can able to automatically download the code and server to the production environment.

Jenkins and Java -:)

We know for java code we have to download lots of dependencies but by using Apache Maven with Jenkins it automatically finds required dependencies and downloads them after this run it.

MD MOQADDAS

🔰ARTH Learner…

🎯Keep Growing Keep Sharing

--

--

MD MOQADDAS
MD MOQADDAS

No responses yet