0% found this document useful (0 votes)
7 views

Semina

Uploaded by

Neha Chaudhari
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)
7 views

Semina

Uploaded by

Neha Chaudhari
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/ 23

A Seminar Report

On

“CI/CD Transforming the development with


DevOps ”
Submitted to Savitribai Phule Pune University
for the partial fulfillment of Bachelor of Engineering (Under Graduate) Degree in
Computer Engineering

By
Neha Atul Chaudhari | PRN :72257464K
Under the Guidance of
Mrs.A.H.Joshi

Departmnet of Computer Engineering


PVG’s College of Engineering & S. S. Dhamankar Institute
of Management, Nashik
2024 - 25
Certificate
This is certify that the project entitled
“CI/CD Transforming the development with DevOps”
Submitted by
Neha Atul Chaudhari | PRN : 72257464K

are the bonafide student of this institute and the work has been carried out by her
under our supervision and it is approved for the partial fulfillment of the requirement
of Savitribai Phule Pune University, for the award of the degree of Bachelor of
Engineering in Computer Engineering

Mrs. A.H.Joshi Prof. S. D. Joshi


Guide Seminar Coordinator

Prof. J. Y. Kapdnis
Head,Department of Computer Engineering

Place : Nashik
Date :
Acknowledgement

I’m are profoundly grateful to Mrs.A.H.Joshi, for her expert guidance and
continuous encouragement throughout the seminar from its commencement till the
completion.

I would like to express deepest appreciation towards Mr. J. Y. Kapadnis, Head


of the Department and Dr.M. V. Bhalerao, I/C Principal, for their invaluable guid-
ance supported us in completing this project.

At last I must express our sincere heartfelt gratitude to all the staff members of
Department Computer Engineering who helped us directly or indirectly during this
course of work.
Neha Atul Chaudhari

i
Abstract

The evolution of software development practices has underscored the necessity for
enhanced efficiency and agility in delivering high quality software. This study in-
vestigates the role of DevOps and Continuous Integration/Continuous Deployment
(CI/CD) in transforming software delivery processes. DevOps represents a paradigm
shift that integrates development and operations teams through collaborative prac-
tices, automation, and continuous feedback, while CI/CD focuses on the automa-
tion of integration and deployment pipelines to accelerate release cycles and improve
software reliability. This provides a examination of the principles and practices of
DevOps, including its core methodologies and the implementation of automation
tools. It further explores the CI/CD lifecycle, detailing the stages from code inte-
gration and automated testing to deployment and monitoring. By presenting case
studies and real-world examples, this study highlights the benefits of adopting these
practices, such as reduced time-to-market, enhanced software quality, and increased
system resilience. The findings aim to equip organizations with actionable insights for
successfully implementing and optimizing DevOps and CI/CD practices, ultimately
fostering continuous improvement and maintaining a competitive edge in the software
industry.

Keyword : Development and Operations,Continuous Integration,Continuous De-


ployment or Continuous Delivery, Infrastructure as Code

ii
Contents

Acknowledgement i

Abstract ii

List of Figures v

List of Tables vi

1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Literature Survey 3

3 System Architecture/ Methodology 5


3.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 CONTINUOUS INTEGRATION(CI): . . . . . . . . . . . . . . . . . 6
3.4 CONTINUOUS DEPLOYMENT (CD): . . . . . . . . . . . . . . . . 7

4 Design and Modelling 8


4.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Result and Analysis 10

6 Software Specification 12
6.1 Software Specification . . . . . . . . . . . . . . . . . . . . . . . . . . 12

iii
CONTENTS CONTENTS

7 Conclusion 14

References 15

iv
List of Figures

3.1 CI/CD Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


3.2 Continuous Integration . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Continuous Deployment . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


4.2 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5.1 Deployment success rate of CI/CD . . . . . . . . . . . . . . . . . . . 10


5.2 Time Saving Breakdown Pie chart . . . . . . . . . . . . . . . . . . . 11

v
List of Tables

2.1 Literature Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

vi
Chapter 1

Introduction

In the fast-paced software industry, efficient and reliable delivery is essential. DevOps
and Continuous Integration/Continuous Deployment (CI/CD) address these needs by
promoting collaboration between development and operations teams and automating
integration and deployment processes. DevOps and CI/CD are a powerful combi-
nation of practices and tools that are revolutionizing software development.[1] This
approach accelerates release cycles and enhances software quality, leading to faster
and more dependable software delivery.[2] They aim to automate and streamline
the entire software development lifecycle, from code development to deployment and
maintenance.

1.1 Motivation

•Rapid Delivery: CI/CD enables quicker software releases in a fast-paced tech envi-
ronment.
•Quality Assurance: Automates testing and integration, reducing errors and improv-
ing code quality.
•Efficiency: Streamlines workflows and eliminates bottlenecks in development pro-
cesses.
•Collaboration: Fosters teamwork between developers and operations, enhancing
communication.
•Continuous Improvement: Encourages a culture of ongoing enhancement and inno-
vation.
•User Satisfaction: Faster updates lead to a better experience for end-users.

1
CI/CD:Transforming the Developement with DevOps

1.2 Objective

• To streamline the software development process by automating integration and de-


ployment through CI/CD practices.
• To improve software quality by implementing automated testing and accelerate the
delivery of features by reducing the time-to-market through efficient CI/CD work-
flows.

1.3 Problem Statement

With the increasing demand for rapid software delivery and reliable deployment,
traditional software development methodologies face challenges in meeting these ex-
pectations. Continuous Integration (CI) and Continuous Deployment/Delivery (CD)
are pivotal practices in DevOps that enable teams to deliver software changes quickly,
safely, and sustainably. This seminar explores how CI/CD practices can transform
the development workflow by automating testing, building, and deploying processes,
thereby enhancing productivity, reducing manual intervention, and ensuring contin-
uous feedback.

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 2


Chapter 2

Literature Survey

In ”Quality-Aware DevOps Research: Where Do We Stand?” Ahmad Alnafessah


(2021) discusses the integration of quality measures in DevOps practices, highlighting
the necessity of quality assurance throughout the CI/CD lifecycle. The paper calls
for further research to develop actionable strategies, advocating for a quality-focused
approach in fast-paced environments.[1]
In ”Understanding DevOps Bridging the Gap from Continuous Integration to Con-
tinuous Delivery,” M. Virmani (2015) explores the shift from Continuous Integration
(CI) to Continuous Delivery (CD) in DevOps. It highlights challenges like cultural
resistance and tool limitations, stressing the importance of collaboration, though it
may not cover modern practices.[2]
The survey paper ”Design and Implementation of CI/CD Pipeline for Automation” by
Kiran Kulkarni et al. (2024) evaluates CI/CD pipeline design, addressing challenges
and outlining best practices for automation. While it provides valuable insights, it
may not comprehensively cover all available CI/CD tools in the industry.[3]
In ”AI-Optimized DevOps for Streamlined Cloud CI/CD” (2023), Naveen Vemuri et
al. investigate the integration of AI in DevOps to improve efficiency in cloud CI/CD
processes. While promising, the approach is still in early stages and raises concerns
about potential over-reliance on AI technologies.[4]

3
CI/CD:Transforming the Developement with DevOps

Year
of
SR. Paper Title Pub- Authors Finding Limitations
No. lica-
tion
Explores integration
Ahmad of quality measures
Lacks specific frameworks for
1. Quality-Aware DevOps 2021 Alnafes- in DevOps, identifying
practical implementation
Research: Where Do We sah methodologies to enhance
Stand? quality in CI/CD.
They may not address the
M. Vir- Discusses the evolution latest tools and practices
2. Understanding DevOps 2015
mani from CI to CD. in modern DevOps environ-
& Bridging the Gap from
ments
Continuous Integration
to Continuous Delivery
Kiran Evaluates CI/CD
Kulka- pipeline design, out- May not cover all CI/CD
3. A Survey Paper on 2024
rni et lining challenges and best tools comprehensively
Design and
al. practices for automation
Implementation of
CI/CD Pipeline for
Automation
Investigates AI integra-
Naveen
tion in DevOps to en- Still in early stages; potential
4. AI-Optimized DevOps 2023 Vemuri
hance efficiency in cloud over-reliance on AI.
for Streamlined Cloud et al.
CI/CD processes.
CI/CD

Table 2.1: Literature Survey

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 4


Chapter 3

System Architecture/ Methodology

3.1 System Architecture

3.2 Methodology

In the context of DevOps, Continuous Integration (CI) and Continuous Delivery (CD)
are crucial methodologies that streamline the development and deployment processes.
As shown in the figure 3.1 . Here’s how CI and CD fit into the broader DevOps
methodology:
CI/CD Pipeline :

Figure 3.1: CI/CD Pipeline

1. Version Control: Use a version control system (e.g., Git) to manage source code
and Developers create branches for new features or fixes.
2. Continuous Integration (CI):

5
CI/CD:Transforming the Developement with DevOps

• Automated Build: Trigger automated builds upon each commit to ensure code
compiles correctly.
• Automated Testing: Execute unit tests and integration tests to verify functionality
and catch bugs early.
• Static Code Analysis: Implement tools to analyze code quality and maintainability.
3. Continuous Deployment (CD):
• Staging Environment: Deploy the application to a staging environment for further
testing.
• Automated Acceptance Testing: Run automated tests to validate the application
in a production-like environment.
• Deployment to Production: Upon successful testing, automatically deploy the ap-
plication to the production environment.
4. Monitoring and Feedback: Monitor application performance and user feedback
in real-time. Results from tests and deployments are communicated to developers.
Developers address issues based on feedback and monitoring data. Use metrics and
logs to identify issues and inform future development.
5. Iterative Improvement: Gather insights from monitoring and user feedback to
continually refine and improve the CI/CD process.

3.3 CONTINUOUS INTEGRATION(CI):

CI is a core practice in DevOps that involves automatically building, testing, and


integrating code changes as soon as they are committed to the version control system.
As shown in the figure 3.2 . This helps to catch errors early in the development cycle
and prevent integration problems.
• Automated Build: Trigger automated builds upon each commit to ensure code
compiles correctly.
• Automated Testing: Execute unit tests and integration tests to verify functionality
and catch bugs early.

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 6


CI/CD:Transforming the Developement with DevOps

Figure 3.2: Continuous Integration

3.4 CONTINUOUS DEPLOYMENT (CD):

CD builds on CI by automating the deployment of new software releases to production


environments. This allows for rapid and frequent releases, ensuring that customers
have access to the latest features and improvements. As shown in the figure 3.3 .
• Staging Environment: Deploy the application to a staging environment for further
testing.
• Automated Acceptance Testing: Run automated tests to validate the application
in a production-like environment.
• Deployment to Production: Upon successful testing, automatically deploy the ap-
plication to the production environment.

Figure 3.3: Continuous Deployment

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 7


Chapter 4

Design and Modelling

4.1 Use Case Diagram

This Use Case Diagram shows the interactions between key stakeholders and an Ag-
ile project management system. The Product Owner manages the project, phases,
user stories, and requirements, while the Developer focuses on managing develop-
ment tasks. The Tester manages test cases, and the Security Master ensures the
system’s security features are managed. All roles require access through a central
Login feature, which facilitates their specific tasks. The system also manages associ-
ations, linking various project elements together for efficient workflow. This diagram
highlights the collaboration required for successful Agile project execution.

Figure 4.1: Use Case Diagram

8
CI/CD:Transforming the Developement with DevOps

4.2 Data Flow Diagram

The progressive workflow of Agile Development integrated with DevOps prac-


tices, focusing on Continuous Integration (CI), Continuous Delivery (CD),
and Continuous Deployment. It starts with coding and building the software,
followed by the integration of changes into the main codebase through automated
processes. Testing ensures the software’s stability, and if it passes, it moves to the
release stage, where it is prepped for deployment. Continuous Deployment auto-
mates the deployment process directly to production. Finally, the operation phase
focuses on monitoring and maintaining the system, supported by DevOps practices for
seamless collaboration between development and operations teams, ensuring faster,
reliable software delivery.

Figure 4.2: Data Flow Diagram

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 9


Chapter 5

Result and Analysis

Accuracy Improvements:
CI/CD practices significantly increase the accuracy of deployments.
The integration of automated testing within the CI/CD pipeline allows
teams to identify and rectify issues before they reach production. For
instance, organizations often report deployment success rates rising from
70 percent to over 85 percent after implementing CI/CD. This enhance-
ment is attributed to continuous testing and integration, which reduces
the likelihood of bugs and integration conflicts.

Figure 5.1: Deployment success rate of CI/CD

10
CI/CD:Transforming the Developement with DevOps

Efficiency Metrics:
The efficiency of the development process is markedly improved through
CI/CD. Prior to implementation, teams may spend an average of 40 hours
on development tasks per project. Post-implementation, this time can be
reduced to 25 hours, indicating a 37.5percent decrease. Automation of
routine tasks (such as building, testing, and deployment) enables develop-
ers to concentrate on higher-value activities, thereby optimizing resource
utilization.

Time Savings Breakdown:


An analysis of time savings reveals distinct improvements across various
stages of the development pipeline: Build Process: Time savings of ap-
proximately 30percent. Testing Phase: Time savings of around 50 percent.
Deployment Stage: Time savings of about 20 percent. Overall, organiza-
tions may save around 25 hours per project, enhancing their ability to
deliver features and address issues more promptly.

Figure 5.2: Time Saving Breakdown Pie chart

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 11


Chapter 6

Software Specification

The detailed Software Specifications establish the requirements and con-


straints on their respective components to be able to meet those specifi-
cations. A specification is a precise description of the system that meets
stated requirements.

6.1 Software Specification

• Version Control Tools like Git, Mercurial, or SVN used to manage and
track code changes.
• Build Automation Tools like Maven, Gradle, or Ant automate the pro-
cess of building and compiling software.
• Continuous Integration Tools like Jenkins, CircleCI, or Travis CI are
used to automatically build, test and integrate code changes.

12
CI/CD:Transforming the Developement with DevOps

• Jenkins
Jenkins is an open source automation tool that provides plugins to help
develop, deploy, and deliver software. It is a server that lets developers
distribute tasks across various machines and perform distributed tests and
deployments. The Jenkins Pipeline offers several plugins to facilitate the
implementation of a continuous integration (CI) pipeline.

• CircleCI
CircleCI is a CI tool that supports various container systems, delivery
mechanisms, and version control systems like Github. CircleCI can run
complex pipelines with caching, resource classes, and Docker layer caching.
You can run this tool in the cloud and on-premises.

• Spinnaker
Spinnaker is an open source CD platform for multi-cloud environments.
It offers a pipeline management system and integrates with many cloud
providers. Spinnaker provides a pipeline builder to automate releases, and
lets you save and reuse existing pipelines as JSON files. It supports Ku-
bernetes and integrates with tools like Prometheus, Datadog, and Stack-
Driver.

Department of Computer Engineering | PVG’sCOE&SSDIOM, Nashik 13


Chapter 7

Conclusion

DevOps is about culture while CI/CD is mainly about the process and
tools. CICD enables us to make application changes more reliably as
there is a consistent, reproducible pipeline for pushing new features to
your users. When CI/CD is used, code quality is improved and software
updates are delivered quickly and with high confidence that there will be
no breaking changes. The impact of any release can be correlated with
data from production and operations.

14
References

[1] AHMAD ALNAFESSAH ”Quality-Aware DevOps Research: Where


Do We Stand?” Received February 6, 2021, accepted February 26, 2021,
March https 9, 2021, date ://ieeexplore.ieee.org/stamp/stamp.jsp?tp=arnumber=9373
of current version March 26, 2021 Available:
[2] M. Virmani, “Understanding DevOps & bridging the gap from contin-
uous integration to continuous delivery,” in Proc. INTECH, May 2015,pp.
78–82. [Online]. Available: http ://ieeexplore.ieee.org/document/7173368/
[3] A SURVEY PAPER ON DESIGN AND IMPLEMENTATION OF
CI/CD PIPELINE FOR AUTOMATION USING JENKINS Prof. Kiran
Kulkarni*1, Abhishek Patil*2, M Selva vijay*3, Aadil Deshmukh*4,Avinash
Gaikwad*5 ,
DOI : https://www.doi.org/10.56726/IRJMETS49847, February2024
[4] AI-Optimized DevOps for Streamlined Cloud CI/CD, Naveen Vemuri1,
Naresh Thaneeru2, Venkata Manoj Tatikonda3, ISSN No :-2456 2165 , 17
Feb 2024
[5] Continuous Integration and Continuous Delivery using Jenkins and
AWS Services;1Nalla Siva Kumar, 2Mondi Sai Durga, 3Sirisha Hanuman-
thu and Chaitanya, December 2023.

15

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy