DevOps CI-CD Pipelines[1]

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

Bangalore Institute Of Technology

Department of Information Science and Engineering


Software Engineering and Project Management (21CS61)

DevOps
CI/CD Tools
Presented By-
Faculty Incharge-
Hruthika H P (1BI21IS037)
Dr. Hema Jagdish
Kiran K (1BI21IS042)
Assistant professor
Lovelesh Debnath (1BI21IS049)
Burhanuddin Bohra (1BI21IS118) Dept. of ISE
Table of Contents

01 What is
DevOps? 02 CI/CD

03 CI/CD Tools and


Process 04 Create Job
using Jenkins
01
DevOps
What is Devops Model?
DevOps is a blend of practices, and tools, that
help organizations grow in terms of delivering
applications and services efficiently. It helps to
improve the products at a faster speed than
using traditional software development and
infrastructure management processes.

DevOps model keeps development and


operations together, working as a team for the
software development process, starting from
development, test, deployment, and checking
updates.
What are the Principles of DevOps?
1. Automation of the software development lifecycle.
This process includes automating testing, builds,
releases, and many other manual tasks that can reduce
the software delivery process
2. Collaboration and communication. Communication
and collaboration is very much required in DevOps as it
helps you to work on products effectively with fewer
bugs.
3. Continuous improvement and minimization of waste.
Due to regular updates taken from the team, and
watching performance metrics, to work on software
delivery.
4. Hyper-focus on user needs with short feedback loops.
Through automation, improved communication and
collaboration, and continuous improvement, DevOps
teams can focus on what real users really want, and how
to deliver it to them.
What is DevOps Used For?
DevOps aims to improve the software development
life-cycle and increases an organization’s ability to
deliver services and applications at high speed. There
are various disciplines in which DevOps works, some
of them are mentioned below:

● Building e-commerce websites


● Benefit to Airline industry
● Car Manufacturing Industry
● Online Financial Trading Company.
How DevOps Works?
DevOps working including teams working for
implementing codes and building applications, from
development and deployment to maintenance and
updates. They work on accelerating delivery through
automation, collaboration, fast feedback, and iterative
improvement at all stages of the development cycle.

DevOps people are asked to work on tools they are


familiar with, and also collaborate with teams for the
betterment of the application. All the teams –
Development, Operations, IT, Security, and Business,
work together to work for the plan, build, secure, and
deploy software across an end-to-end unified system.
DevOps Tools
1. DevOps tools for continuous development - Jira, Git

2. DevOps tools for continuous integration & delivery - Jenkins

3. DevOps tools for continuous testing - Selenium, Bamboo

4. DevOps tools for continuous deployment - Docker, Ansible

5. DevOps tools for continuous feedback - Jira Service Management

6. DevOps tools for continuous monitoring - Prometheus

7. DevOps tools for continuous operation - Opsgenie


02
CI/CD
CONTINUOUS INTEGRATION(CI)

Continuous Integration is a practice where developers regularly


merge their code changes into a shared repository, typically several
times a day. Each merge triggers an automated build and testing
process to detect integration errors and bugs early in the
development cycle.
Key Features Of CI:
Code Commitment:

● What it means: Sharing your work with others.

● How it works: You save your changes to a place where everyone


can see them.

● Why it's important: It lets everyone know what's being worked


on and helps prevent conflicts.

Automated Build and Test:


● What it means: Checking your work automatically.

● How it works: Computers automatically check if your changes


work as expected.

● Why it's important: It catches mistakes early, so problems are


fixed quickly and everyone's work fits together smoothly.
Key Features Of CI:
Immediate Feedback:
● What it means: Getting results right away.

● How it works: You find out if your changes passed or failed


the tests as soon as you submit them.

● Why it's important: It helps you fix any issues right away, so


you can keep working without delays.
CONTINUOUS DELIVERY(CD)
Continuous Delivery extends CI by automating the process of
deploying code changes to production or staging
environments. It ensures that code changes are always in a
deployable state, allowing teams to release updates to users
quickly and reliably.
Key Features Of CD:
Deploy:

● What it means: Putting your changes into action.

● How it works: Your updates are automatically sent to where they need to
be, like putting new toys on shelves in a store.

● Why it's important: It ensures your changes go live smoothly and without
hiccups.

Operate:

● What it means: Making sure everything keeps running smoothly.

● How it works: People keep an eye on things and fix anything that goes
wrong, like fixing a broken toy or replacing a burnt-out lightbulb.

● Why it's important: It keeps your system working well so customers are
happy.
Key Features Of CD:
Monitor:

● What it means: Keeping an eye on how things are going.

● How it works: People watch for any problems or changes, like watching
a game to see who's winning.

● Why it's important: It helps catch any problems early and makes sure
everything is running smoothly.
CI/CD Pipeline:
03
CI/CD TOOLS
Most Widely Used CI/CD Tools

GitLab CI/CD
CircleCI
Travis CI
Azure DevOps
TeamCity
Jenkins
CodeShip
GitLab CI/CD

● GitLab CI/CD is an integrated part of GitLab,


providing a complete DevOps lifecycle tool.

Key Features:

● Seamless repository integration


● Auto DevOps for automated pipeline setup
● Flexible pipeline configurations
CircleCI

● CircleCI is a cloud-based CI/CD platform that


automates the build, test, and deploy
processes.

Key Features:

● Highly customizable and scalable


● Supports Docker and Kubernetes
● Parallelism and caching for faster builds
Travis CI
● Travis CI is a continuous integration
service that supports GitHub repositories.

Key Features:

● Easy setup with .travis.yml

● Supports multiple programming languages

● Free for open-source projects


Azure DevOps
● Azure DevOps provides a suite of
development tools to support the
entire DevOps lifecycle.

Key Features:

● Azure Pipelines for CI/CD workflows


● Strong integration with Azure services
● Comprehensive analytics and reporting
TeamCity
● TeamCity is a powerful CI/CD server from
JetBrains designed to automate builds,
tests, and deployments.

Key Features:

● Easy Configuration: Intuitive interface for build


setup and management.
● Scalability: Supports distributed builds and parallel
execution.
● Comprehensive Analytics: Detailed insights into
build performance and project health.
04
Jenkins
About Jenkins

● Jenkins is an open source automation


tool used to build and test software
projects.
● The tool makes it easier for developers
to integrate changes to the project.
● Jenkins achieves continuous integration
with the help of plugins.
Why Jenkins?

Jenkins turns out to be a best fit for


building a CI/CD pipeline because of its
flexibility, openness, plugin-capabilities,
and simple to use nature.

To automate the entire development


environment, a CI/CD pipeline is to be built.
To build such a pipeline Jenkins turns out to
be the best fit
Working with Jenkins
There are six steps to build a pipeline with Jenkins
but before those six steps, things needed are:
1. Java Development Kit
2. Knowledge to execute some basic Linux
commands

STEP 1 : Download Jenkins


● Download Jenkins from the Jenkins
downloads page
"https://www.jenkins.io/download/"
● Download the file "Generic Java package
(.war)"
Working with Jenkins
STEP 2 : Execute Jenkins as a Java binary
● Open the terminal window and enter cd < your
path>
● Use the command java -jar. /Jenkins. war to run the
WAR file

STEP 3 : Create a Jenkins job


● Open the web browser and open
localhost:8080
● The Jenkins dashboard that opens, create
new jobs there.
Working with Jenkins
STEP 4 : Create a pipeline job
● Select and define what Jenkins job that is to be
created
● Select Pipeline, give it a name and click OK
● Scroll down and find the Pipeline section either
directly write a pipeline script or retrieve the
● Jenkins file from SCM (Source Code Management)

STEP 5 : Configure and execute a pipeline


job with a direct script
● Choose Pipeline script as the Destination and paste the
Jenkinsfile content in the script from the GitHub
● Click on Save to keep the changes
● Now click on the Build Now to process the build
● To check the output click on any stage and click Log, a message
will appear on the screen
Working with Jenkins
STEP 6 : Configure and execute a pipeline
job with SCM
● Copy the GitHub repository URL by clicking
on Clone or download
● Now, click on Configure to modify the
existing job.
● Scroll to the Advanced Project Options
setting, and select Pipeline script from SCM
option
● Paste the GitHub repository URL here
● Type Jenkinsfile in the Script, and then click
on Save button
● Next, click on Build Now to execute the job
again
Working with Jenkins

STEP 6 : Configure and execute a pipeline


job with SCM
● Copy the GitHub repository URL by clicking
on Clone or download
● Now, click on Configure to modify the
existing job.
● Scroll to the Advanced Project Options
setting, and select Pipeline script from SCM
option
● Paste the GitHub repository URL here
THANK YOU

You might also like