0% found this document useful (0 votes)
9 views5 pages

CICD Pipeline

Uploaded by

srathor24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

CICD Pipeline

Uploaded by

srathor24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

What is DevOps

DevOps is a ​software development approach​ which involves continuous development, continuous


testing, continuous integration, continuous deployment and continuous monitoring of the software
throughout its development life cycle.

DevOps Stages

DevOps Lifecycle

Continuous Integration (CI) ​is a development practice that requires developers to integrate code into a
shared repository several times a day. Each check-in is then verified by an automated build, allowing
teams to detect problems early.

Continuous Deployment (CD)​ is closely related to Continuous Integration and refers to the ​release​ into
production​ of software that passes the automated tests.

Continuous Delivery ​is about ​ensuring​ that ​every good build is potentially ready​ for production
release. Not to be confused with ​Continuous Deployment (CD)​.
What is CICD pipeline

A CI/CD pipeline can be easily understood as the process pathway through which we can deliver a single
unit of production-ready software.
The ​simplest​ version of the pipeline can best be described by this activity chain:

Details about CICD Pipeline

The above ​pipeline​ is a logical demonstration of how a software will move along the various phases or
stages in this lifecycle, before it is delivered to the customer or before it is live on production.

Let’s take a scenario of CI CD Pipeline. Imagine you’re going to ​build​ a web application which is going to
be deployed on live web servers. You will have a set of developers who are responsible for writing the
code which will further go on and build the web application. Now, when this ​code is committed​ into a
version control system ​(such as git, svn) by the team of developers. Next, it goes through the ​build
phase​ which is the first phase of the pipeline, where developers put in their code and then again code
goes to the version control system having a proper version tag.

Testing Phase:
Once the build phase is over, then you move on to the ​testing​ phase. In this phase, we have various
kinds of testing, one of them is the unit test (where you test the chunk/unit of software or for its sanity
test).

Deploy Phase:

When the test is completed, you move on to the ​deploy phase​, where you deploy it into a ​staging​ or a
test​ server. Here, you can view the code or you can view the app in a simulator.

Auto Test Phase:

Once the code is deployed successfully, you can run another set of sanity tests. If everything is accepted,
then it can be deployed to production.

Deploy to Production

Meanwhile in every step, if there is some error, you can shoot a mail back to the development team so
that they can fix them. Then they will push it into the version control system and goes back into the
pipeline.

Once again if there is any error reported during testing, again the feedback goes to the dev team where
they fix it and the process re-iterates if required.
Measure+Validate (Monitoring)

JENKINS
Our task is to automate the pipeline in order to make the entire software development lifecycle on the
dev-ops mode/ automated mode.
Jenkins​ provides us with various interfaces and tools in order to ​automate​ the entire process.
So what happens, we have a git repository where the development team will commit the code. ​Jenkins
takes over from there​ which is front-end tool where you can ​define​ your ​entire job ​or the ​task​.

From ​Git​, Jenkins ​pulls​ the code and then moves it to the ​commit​ phase, where the code is committed
from every branch. Then Jenkins moves it into the ​build ​phase where we ​compile​ the code. If it is Java
code, we use tools like maven in Jenkins and then compile that code, which we can be deployed to run a
series of tests. These test cases are overseen by Jenkins again.

Then it moves on to the ​staging​ server to ​deploy​ it using docker. After a series of ​Unit Tests​ or ​sanity
test, it ​moves​ to the ​production​.

Now in order to deploy it, we will need an ​environment​ which will ​replicate​ the production environment,
I.e., ​Docker​.

DOCKER
Docker​ is just like a virtual environment in which we can create a server. It takes a few seconds to create
an entire server and deploy the artifacts which we want to test.

You might also like