SlideShare a Scribd company logo
2
Most read
4
Most read
6
Most read
DevOps Delivery Pipeline
Software Delivery Automation
for Beginners
What is DevOps?
DevOps is a set of principles,
practices, and technical solutions
aimed to facilitate the Software
Development Life Cycle by improving
collaboration between Software
Development and IT Operations
teams. The ultimate goals of DevOps
are to make the software more
reliable, reduce time to market, and
bring down the support costs.
There are a lot of aspects of the DevOps
approach, which are essential for
understanding the whole DevOps
concept and philosophy. This slide deck is
focused on the very basic one: the
automated Software Delivery Pipeline.
The automation is a core DevOps
principle, and a proper process of
software delivery is a key success factor
of the entire DevOps story. Let’s start with
the fundamental concepts and
definitions.
Key Software Delivery Concepts and Definitions
Source Code Repository or
Version Control System (VCS)
A system where the Software Source Code is stored, and the code
versions/branches are maintained
Build and Build Artifact
The Source Code processing/compilation/packaging and creation of a
deployable software package named the Build Artifact
Build Artifact Repository
A system to store the Build Artifacts (compiled binaries) with version
management and access control
Deployment
A list of activities to make a Software Application available and ready for
use in a test or production environment using some Build Artifact
Environment
A consistent set of hardware/system components required to deploy
and run Software Applications
What is the DevOps Delivery Pipeline?
The DevOps or CI/CD (Continuous
Integration/Continuous Delivery)
Pipeline is a set of fully automated
steps for delivery of a new version of a
software product from a source code
repository to the production
environment. The automation is an
essential principle here because it
allows the delivery to be robust, fully
controlled, and fast.
There are tons of tools on the market
helping to build a DevOps Delivery
Pipeline, and a lot of publications in the
Internet advertising those tools and their
combinations.
The right tools are important, but it could
be difficult for a beginner to navigate
through an ocean of possible options
without a solid understanding of their
underlying principles. The next slides are
about the very common things to know
regardless of a tool choice.
The very basic DevOps Delivery Pipeline
That’s it! Someone can create a much more
sophisticated pipeline with a lot of different
steps, but usually, it is possible to attribute
any step to either the Build or to the Deploy
stage.
To enjoy your DevOps pipeline and avoid
some common mistakes, you have to follow
simple rules, which we are going to review
in this slide deck.
Build
Deploy
Enjoy!
What are the common Build Steps?
1. Take source code from VCS
2. Verify the source code
3. Auto-generate extra code
4. Compile the code
5. Run unit tests
6. Add deployment scripts
7. Package the Build Artifact
8. Publish to Artifact Repository
Some of the steps could be optional
depending on the nature of the
application. For example, sometimes
there is no automated code generation
or your application requires just some
configuration and even no code
compilation is needed.
The must-have steps are highlighted
because you always should start from
the source code and provide a build
artifact at the end, which is
self-sufficient for deployment.
What are the common Deployment Steps?
1. Take the Build Artifact from
the Artifact Repository
2. Take the deployment
environment details
3. Run the deployment scripts on
the deployment environment
4. Validate the deployment
The first three steps are essential here,
and the last one is optional but nice to
have. The main idea of the
deployment stage is to combine
environment-agnostic Build Artifact
with the environment-specific
parameters such as hostnames/IPs,
ports, folder paths etc.
The deployment validation is nothing
else but a set of smoke tests to ensure
the application is up and running as
expected.
How to enjoy?
1. Follow the best practices to automate
your pipeline
2. Try to avoid common mistakes
3. Choose proper tools which allow doing
the above
4. Document the details of your solution
5. Train the team to use it
The Internet is full of DevOps
materials: papers, blogs, tool reviews
etc. Some fundamental things are
described above, and on the next
slides, the rest could be found once
you have started building the DevOps
pipeline for your specific application.
It’s worth to remember that DevOps
pipeline doesn’t exist in isolation: it
has its users such as developers,
testers, support team etc. Get their
feedback and improve your solution.
Enjoy!
DevOps pipeline automation
Git with GitHub, GitLab,
BitBucket etc. as VCS
Git is a de-facto standard today. It can be accomplished by different
web-based GUI/collaboration servers (some of them are listed here),
cloud-based or on-premises
Jenkins, Bamboo, TeamCity
etc. as CI/CD server
CI/CD server is a key automation component. It triggers Build/Deployment
jobs on different events like VCS commit or another build job completion
Nexus, Artifactory etc. as the
Build Artifact Repository
A typical CI/CD server normally has a basic built-in Artifact Repository, but you
can add a dedicated Repository Server to have more features and control
Ansible, Chef, Puppet etc. as
a deployment tool
A CI/CD server just triggers some deployment jobs, but the actual deployment
is usually done by so-called configuration-management tools
Some commonly used tools and concepts in the DevOps pipeline automation
Most common CI/CD Server features
1. Arranges build and deployment
activities into plans/jobs/tasks etc
2. Monitors VCS for commits and
triggers relevant builds
3. Provides a simple Build Artifact repo
4. Organizes deployment environments
5. Triggers deployments
6. Does jobs logging and monitoring
A CI/CD server is a mandatory component
of any DevOps pipeline. A CI/CD server
provides a web-based GUI to configure
and manage build and deployment jobs
of a DevOps pipeline. Once configured,
the build/deployment jobs are triggered
by the server on different events like code
commits or a build completion.
In the following slides, we will consider the
most common aspects of a CI/CD server
usage, applicable to any of them.
CI/CD Server Usage
Tip Why do we need to follow?
Setup role-based access
control to jobs
Sometimes we want users to trigger jobs manually, and the only relevant people
should do that. Use of the user roles simplifies access control management a lot
Setup relevant notification
groups
A key point of DevOps success is an early notification about a problem. Create groups
of developers and testers to be notified about a build or deployment failure
Store job logic in
version-controlled scripts
Job logic is a code. VCS usage allows us to store job code in a central place with
general benefits of code versioning like change tracking etc.
Use automated job
triggers with caution
A build might take a while, and deployment might be unexpected. Job executions
should not be unexpected and should be able to complete on time
Never store environment
details in VCS
CI/CD server usually has built-in environment management, which allows storing
sensitive environment-specific information (like passwords) securely
The very basic tips and tricks of a CI/CD server usage
Build/Deploy jobs access control
Object Build Job Deployment Job
Source Code Repository (VCS) ✓ ✗
Build Artifact Repository Read-Write Read Only
Environment Details ✗ ✓
You need to restrict access of your Build and Deployment jobs to DevOps infrastructure
components in order to have immutable builds and reproducible deployments
But what happens if we don’t follow the above principles? See on the next slide
What if we have... … then what will happen
No jobs access control and
notifications groups
Someone may accidentally change or execute some critical job. Proper people
will not be notified about a failed build
Jobs configuration via CI/CD
server GUI
It is sometimes convenient for beginners, but you will not have a track of job
changes and end up with CI/CD server vendor lock
A lot of job triggers with
complicated dependencies
A complex trigger logic often became unmanageable, build runs might be
queued, and deployment might be unexpected
Deployment job access to VCS
The deployments will not be reproducible, because the source code in VCS might
be changed, and the next deployment will pick up a different version of the code
Build job access to
environment details
Builds will be environment dependent and could be deployed only to a specific
environment. A test and the prod deployments should use the same build
Common mistakes to avoid
Thanks for watching!
Feel free to contact me via LinkedIn

More Related Content

What's hot (20)

PDF
Security in CI/CD Pipelines: Tips for DevOps Engineers
DevOps.com
 
PPTX
Introduction to CI/CD
Steve Mactaggart
 
PPTX
DevOps introduction
Christian F. Nissen
 
PDF
Introduction to CICD
Knoldus Inc.
 
PPTX
CI/CD Overview
An Nguyen
 
PPTX
Introduction to DevOps
Hawkman Academy
 
PDF
Cloud Pub_Sub
Knoldus Inc.
 
PPTX
Building secure applications with keycloak
Abhishek Koserwal
 
PPTX
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
PPT
CI and CD with Jenkins
Martin Málek
 
PPTX
CI/CD on AWS
Bhargav Amin
 
PPTX
DevOps Introduction
Robert Sell
 
PPTX
DEVSECOPS: Coding DevSecOps journey
Jason Suttie
 
DOCX
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
PPTX
Basis path testing
Hoa Le
 
PDF
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
PPTX
Tour of Azure DevOps
Callon Campbell
 
PDF
DevOps Powerpoint Presentation Slides
SlideTeam
 
PDF
"DevOps > CI+CD "
Innovation Roots
 
Security in CI/CD Pipelines: Tips for DevOps Engineers
DevOps.com
 
Introduction to CI/CD
Steve Mactaggart
 
DevOps introduction
Christian F. Nissen
 
Introduction to CICD
Knoldus Inc.
 
CI/CD Overview
An Nguyen
 
Introduction to DevOps
Hawkman Academy
 
Cloud Pub_Sub
Knoldus Inc.
 
Building secure applications with keycloak
Abhishek Koserwal
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
CI and CD with Jenkins
Martin Málek
 
CI/CD on AWS
Bhargav Amin
 
DevOps Introduction
Robert Sell
 
DEVSECOPS: Coding DevSecOps journey
Jason Suttie
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
Basis path testing
Hoa Le
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Julian Mazzitelli
 
Tour of Azure DevOps
Callon Campbell
 
DevOps Powerpoint Presentation Slides
SlideTeam
 
"DevOps > CI+CD "
Innovation Roots
 

Similar to DevOps Delivery Pipeline (20)

PPTX
Ice breaker with dev ops
Mukta Aphale
 
PDF
Getting to Walk with DevOps
Eklove Mohan
 
PPT
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 
PDF
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Mozaic Works
 
PPTX
What_is_DevOps_how_it's_very_useful_in_daily_Life.
anilpmuvvala
 
PPTX
What is DevOps And How It Is Useful In Real life.
anilpmuvvala
 
PPTX
Devops architecture
Ojasvi Jagtap
 
PPTX
Devops phase-1
G R VISHAL
 
PPTX
What_is_DevOps.pptx
mridulsharma774687
 
PPTX
DevOps
RavneetArora
 
PDF
Constant Contact SF's Road to CD
Solano Labs
 
PDF
DevOps and AWS
Shiva Narayanaswamy
 
PDF
DevOps Training - Ho Chi Minh City
Christian Trabold
 
PDF
Continuous Infrastructure First
Kris Buytaert
 
PPTX
CI_CD_Pipelines_java_---Presentation.pptx
ajaysahu931430
 
ODP
Deploying your SaaS stack OnPrem
Kris Buytaert
 
PDF
Leveraging DevOps for Faster and Scalable Deployments - Keynote.pdf
PaschalOruche1
 
PDF
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
Hui (Henry) Chen
 
PDF
DevOps Implementation Roadmap
SofiaCarter4
 
PDF
Top CI/CD Tools Every QA Automation Engineer Should Use
digitaljignect
 
Ice breaker with dev ops
Mukta Aphale
 
Getting to Walk with DevOps
Eklove Mohan
 
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Mozaic Works
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
anilpmuvvala
 
What is DevOps And How It Is Useful In Real life.
anilpmuvvala
 
Devops architecture
Ojasvi Jagtap
 
Devops phase-1
G R VISHAL
 
What_is_DevOps.pptx
mridulsharma774687
 
DevOps
RavneetArora
 
Constant Contact SF's Road to CD
Solano Labs
 
DevOps and AWS
Shiva Narayanaswamy
 
DevOps Training - Ho Chi Minh City
Christian Trabold
 
Continuous Infrastructure First
Kris Buytaert
 
CI_CD_Pipelines_java_---Presentation.pptx
ajaysahu931430
 
Deploying your SaaS stack OnPrem
Kris Buytaert
 
Leveraging DevOps for Faster and Scalable Deployments - Keynote.pdf
PaschalOruche1
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
Hui (Henry) Chen
 
DevOps Implementation Roadmap
SofiaCarter4
 
Top CI/CD Tools Every QA Automation Engineer Should Use
digitaljignect
 
Ad

Recently uploaded (20)

PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
MiniTool Partition Wizard Crack 12.8 + Serial Key Download Latest [2025]
filmoracrack9001
 
PDF
10 Salesforce Consulting Companies in Sydney.pdf
DianApps Technologies
 
PDF
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Best Web development company in india 2025
Greenusys
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PPTX
Get Started with Maestro: Agent, Robot, and Human in Action – Session 5 of 5
klpathrudu
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PDF
NPD Software -Omnex systems
omnex systems
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PPTX
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
prodad heroglyph crack 2.0.214.2 Full Free Download
cracked shares
 
PPTX
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
PPTX
From spreadsheets and delays to real-time control
SatishKumar2651
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
MiniTool Partition Wizard Crack 12.8 + Serial Key Download Latest [2025]
filmoracrack9001
 
10 Salesforce Consulting Companies in Sydney.pdf
DianApps Technologies
 
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Best Web development company in india 2025
Greenusys
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Get Started with Maestro: Agent, Robot, and Human in Action – Session 5 of 5
klpathrudu
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
NPD Software -Omnex systems
omnex systems
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
prodad heroglyph crack 2.0.214.2 Full Free Download
cracked shares
 
iaas vs paas vs saas :choosing your cloud strategy
CloudlayaTechnology
 
From spreadsheets and delays to real-time control
SatishKumar2651
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Ad

DevOps Delivery Pipeline

  • 1. DevOps Delivery Pipeline Software Delivery Automation for Beginners
  • 2. What is DevOps? DevOps is a set of principles, practices, and technical solutions aimed to facilitate the Software Development Life Cycle by improving collaboration between Software Development and IT Operations teams. The ultimate goals of DevOps are to make the software more reliable, reduce time to market, and bring down the support costs. There are a lot of aspects of the DevOps approach, which are essential for understanding the whole DevOps concept and philosophy. This slide deck is focused on the very basic one: the automated Software Delivery Pipeline. The automation is a core DevOps principle, and a proper process of software delivery is a key success factor of the entire DevOps story. Let’s start with the fundamental concepts and definitions.
  • 3. Key Software Delivery Concepts and Definitions Source Code Repository or Version Control System (VCS) A system where the Software Source Code is stored, and the code versions/branches are maintained Build and Build Artifact The Source Code processing/compilation/packaging and creation of a deployable software package named the Build Artifact Build Artifact Repository A system to store the Build Artifacts (compiled binaries) with version management and access control Deployment A list of activities to make a Software Application available and ready for use in a test or production environment using some Build Artifact Environment A consistent set of hardware/system components required to deploy and run Software Applications
  • 4. What is the DevOps Delivery Pipeline? The DevOps or CI/CD (Continuous Integration/Continuous Delivery) Pipeline is a set of fully automated steps for delivery of a new version of a software product from a source code repository to the production environment. The automation is an essential principle here because it allows the delivery to be robust, fully controlled, and fast. There are tons of tools on the market helping to build a DevOps Delivery Pipeline, and a lot of publications in the Internet advertising those tools and their combinations. The right tools are important, but it could be difficult for a beginner to navigate through an ocean of possible options without a solid understanding of their underlying principles. The next slides are about the very common things to know regardless of a tool choice.
  • 5. The very basic DevOps Delivery Pipeline That’s it! Someone can create a much more sophisticated pipeline with a lot of different steps, but usually, it is possible to attribute any step to either the Build or to the Deploy stage. To enjoy your DevOps pipeline and avoid some common mistakes, you have to follow simple rules, which we are going to review in this slide deck. Build Deploy Enjoy!
  • 6. What are the common Build Steps? 1. Take source code from VCS 2. Verify the source code 3. Auto-generate extra code 4. Compile the code 5. Run unit tests 6. Add deployment scripts 7. Package the Build Artifact 8. Publish to Artifact Repository Some of the steps could be optional depending on the nature of the application. For example, sometimes there is no automated code generation or your application requires just some configuration and even no code compilation is needed. The must-have steps are highlighted because you always should start from the source code and provide a build artifact at the end, which is self-sufficient for deployment.
  • 7. What are the common Deployment Steps? 1. Take the Build Artifact from the Artifact Repository 2. Take the deployment environment details 3. Run the deployment scripts on the deployment environment 4. Validate the deployment The first three steps are essential here, and the last one is optional but nice to have. The main idea of the deployment stage is to combine environment-agnostic Build Artifact with the environment-specific parameters such as hostnames/IPs, ports, folder paths etc. The deployment validation is nothing else but a set of smoke tests to ensure the application is up and running as expected.
  • 8. How to enjoy? 1. Follow the best practices to automate your pipeline 2. Try to avoid common mistakes 3. Choose proper tools which allow doing the above 4. Document the details of your solution 5. Train the team to use it The Internet is full of DevOps materials: papers, blogs, tool reviews etc. Some fundamental things are described above, and on the next slides, the rest could be found once you have started building the DevOps pipeline for your specific application. It’s worth to remember that DevOps pipeline doesn’t exist in isolation: it has its users such as developers, testers, support team etc. Get their feedback and improve your solution. Enjoy!
  • 9. DevOps pipeline automation Git with GitHub, GitLab, BitBucket etc. as VCS Git is a de-facto standard today. It can be accomplished by different web-based GUI/collaboration servers (some of them are listed here), cloud-based or on-premises Jenkins, Bamboo, TeamCity etc. as CI/CD server CI/CD server is a key automation component. It triggers Build/Deployment jobs on different events like VCS commit or another build job completion Nexus, Artifactory etc. as the Build Artifact Repository A typical CI/CD server normally has a basic built-in Artifact Repository, but you can add a dedicated Repository Server to have more features and control Ansible, Chef, Puppet etc. as a deployment tool A CI/CD server just triggers some deployment jobs, but the actual deployment is usually done by so-called configuration-management tools Some commonly used tools and concepts in the DevOps pipeline automation
  • 10. Most common CI/CD Server features 1. Arranges build and deployment activities into plans/jobs/tasks etc 2. Monitors VCS for commits and triggers relevant builds 3. Provides a simple Build Artifact repo 4. Organizes deployment environments 5. Triggers deployments 6. Does jobs logging and monitoring A CI/CD server is a mandatory component of any DevOps pipeline. A CI/CD server provides a web-based GUI to configure and manage build and deployment jobs of a DevOps pipeline. Once configured, the build/deployment jobs are triggered by the server on different events like code commits or a build completion. In the following slides, we will consider the most common aspects of a CI/CD server usage, applicable to any of them.
  • 11. CI/CD Server Usage Tip Why do we need to follow? Setup role-based access control to jobs Sometimes we want users to trigger jobs manually, and the only relevant people should do that. Use of the user roles simplifies access control management a lot Setup relevant notification groups A key point of DevOps success is an early notification about a problem. Create groups of developers and testers to be notified about a build or deployment failure Store job logic in version-controlled scripts Job logic is a code. VCS usage allows us to store job code in a central place with general benefits of code versioning like change tracking etc. Use automated job triggers with caution A build might take a while, and deployment might be unexpected. Job executions should not be unexpected and should be able to complete on time Never store environment details in VCS CI/CD server usually has built-in environment management, which allows storing sensitive environment-specific information (like passwords) securely The very basic tips and tricks of a CI/CD server usage
  • 12. Build/Deploy jobs access control Object Build Job Deployment Job Source Code Repository (VCS) ✓ ✗ Build Artifact Repository Read-Write Read Only Environment Details ✗ ✓ You need to restrict access of your Build and Deployment jobs to DevOps infrastructure components in order to have immutable builds and reproducible deployments But what happens if we don’t follow the above principles? See on the next slide
  • 13. What if we have... … then what will happen No jobs access control and notifications groups Someone may accidentally change or execute some critical job. Proper people will not be notified about a failed build Jobs configuration via CI/CD server GUI It is sometimes convenient for beginners, but you will not have a track of job changes and end up with CI/CD server vendor lock A lot of job triggers with complicated dependencies A complex trigger logic often became unmanageable, build runs might be queued, and deployment might be unexpected Deployment job access to VCS The deployments will not be reproducible, because the source code in VCS might be changed, and the next deployment will pick up a different version of the code Build job access to environment details Builds will be environment dependent and could be deployed only to a specific environment. A test and the prod deployments should use the same build Common mistakes to avoid
  • 14. Thanks for watching! Feel free to contact me via LinkedIn