SlideShare une entreprise Scribd logo
1  sur  21
1
2
Modern CI/CD Pipeline Using Azure
DevOps
Serhii Abanichev
3
Agenda
1. Problem of software delivery
2. Collaboration between Dev and Ops
3. Azure DevOps overview
4. New-Style pipelines
5. Demo
4
Development lifecycle
Cloud
Plan
Write
code
Release Release
Cloud
Review
Change
5
Traditional delivery model
6
Process
DEV
7
“DevOps is the union of
people, process, and products
to enable continuous delivery
of value to our end users.”
- Donovan Brown
DevOps definition
88
Why is DevOps important?
• Our competition is already doing this
• Increase velocity
• Reduce downtime
• Reduce human error
9
Microsoft proposal
Set of cloud-hosted DevOps services, that work for any
language targeting any platform:
• Plan your project with Agile tools
• Manage test plans from the web
• Version code using Git
• Deploy code using cross-platform CICD system
Azure DevOps
10
What is Azure DevOps?
Dashboards
Agile planning
Source control
Build automation
Continuous integration
Test case management
Package management
Continuous deployment
Release management
Analytics and insights
Visual Studio Team
services (VSTS)
Azure DevOps
Any Language
Any Platform
1 Plan
2 Develop and Test 3 Release
4 Monitor and learn
15
Any Language, Any Platform
• Program in any language
• .NET
• Java
• Python
• Ruby
• Nodejs
• …
• Develop on any OS
• Linux
• Mac
• Windows
• Deploy to any Platform
• Android
• iOS
• Windows Phone
• Docker
• Azure
• AWS
• Linux
• Mac
• …
16
Components
Plan, track, and discuss work
across your teams so that
you can deliver value to your
users faster.
CI/CD that works with any language,
platform, and cloud. Connect to GitHub
or any Git provider and deploy
continuously to any cloud.
Unlimited cloud-hosted private Git
repos for your project. Collaborative
pull requests, advanced file
management, and more.
The manual and exploratory
testing toolkit to ship with
confidence.
Create, host, and share packages
with your team. Add artifacts to your
CI/CD pipelines with a single click.
Built by the community – access
extensions from Slack to
SonarCloud to 1,000 other amazing
things.
17
Build definition as code
Why store build definitions in YAML?
• Versioning
• Keeping Build Definitions with Code
• Branching
• Peer Review
• Reuse
• Linting
• Abstraction and Declarative Instruction
The concept of a build definition as code as it relates to a build server for continuous
integration means using an actual declarative language to define how your build should
works instead of using a web user interface to define your build steps. You can use a
general purpose programming language, a domain specific language or some other
declarative construct to indicate how your build your system.
18
YAML build definition structure
name: <version number> represents the build number which we can
extract later on in the build process
queue:
name: <queue name for execution>
triggers:
<list of triggers> allows to trigger only when the required conditions
are met
variables:
<list of variables>
steps:
<our build process> defined build process
- task: <task name>
displayName: <display name>
inputs:
<input parameters if any>
19
Pricing model
Open source projects Small Teams Teams of any size
Unlimited users and build time
Azure Pipelines: 10 parallel jobs
with unlimited minutes for CI/CD
Azure Boards: Work item
tracking and Kanban boards
Azure Repos: Unlimited public
Git repos
Start free with up to 5 users
Azure Pipelines: 1 hosted job
with 1,800 minutes per month for
CI/CD and 1 self-hosted job
Azure Boards: Work item
tracking and Kanban boards
Azure Repos: Unlimited private
Git repos
Azure Artifacts: Package
management
Load testing (20,000
VUMs/month)
Unlimited stakeholders
Azure Pipelines: 1 hosted job
with 1,800 minutes per month
for CI/CD and 1 self-hosted job
Azure Boards: Work item
tracking and Kanban boards
Azure Repos: Unlimited private
Git repos
Azure Artifacts: Package
management
Load testing (20,000
VUMs/month)
Unlimited stakeholders
Visual Studio subscribers
included free
Free Free $30/mo (10users)
20
Old-style pipeline
Engineer
Visual Studio
Azure Repos
Azure
Build
Pipeline
Azure
Release
pipeline
Azure Board
Azure
Container
Registry
Azure
Kubernetes
Service
Azure
Application
Insights
A
z
u
r
e
D
e
v
O
p
s
21
New-style pipeline
Engineer
Visual Studio
Azure Repos
Azure
Pipeline
Azure Board
Azure
Container
Registry
Azure
Kubernetes
Service
Azure
Application
Insights
A
z
u
r
e
D
e
v
O
p
s
22
Pull Request flow
commit
Pull request
initiation Code updates
and test
triggering
Creating
feature
branch
Triggering
CI build
master
feature branch
23
Release flow
dev qa stg prodCI build
Approval flow
2424
Demo: Azure DevOps services
25
Thank you
Serhii Abanichev
serhii.abanichev@globallogic.com

Contenu connexe

Tendances

Tendances (20)

Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps  Microsoft DevOps Solution - DevOps
Microsoft DevOps Solution - DevOps
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Designing a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd productsDesigning a complete ci cd pipeline using argo events, workflow and cd products
Designing a complete ci cd pipeline using argo events, workflow and cd products
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 

Similaire à Modern CI/CD Pipeline Using Azure DevOps

Similaire à Modern CI/CD Pipeline Using Azure DevOps (20)

DevOps on GCP Course Compared to AWS
DevOps on GCP Course Compared to AWSDevOps on GCP Course Compared to AWS
DevOps on GCP Course Compared to AWS
 
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptxMuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
 
Welcome to Azure DevOps
Welcome to Azure DevOpsWelcome to Azure DevOps
Welcome to Azure DevOps
 
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOpsDevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
DevOps Fest 2020. Сергей Абаничев. Modern CI\CD pipeline with Azure DevOps
 
Visual studio 2019 launch
Visual studio 2019 launch Visual studio 2019 launch
Visual studio 2019 launch
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
 
"Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
 
Understanding the DevOps - GDG Madurai
Understanding the DevOps - GDG MaduraiUnderstanding the DevOps - GDG Madurai
Understanding the DevOps - GDG Madurai
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 

Plus de GlobalLogic Ukraine

GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Ukraine
 

Plus de GlobalLogic Ukraine (20)

GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"
 
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”
 
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”
 
Штучний інтелект як допомога в навчанні, а не замінник.pptx
Штучний інтелект як допомога в навчанні, а не замінник.pptxШтучний інтелект як допомога в навчанні, а не замінник.pptx
Штучний інтелект як допомога в навчанні, а не замінник.pptx
 
Задачі AI-розробника як застосовується штучний інтелект.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptxЗадачі AI-розробника як застосовується штучний інтелект.pptx
Задачі AI-розробника як застосовується штучний інтелект.pptx
 
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxЩо треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptx
 
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...
 
JavaScript Community Webinar #14 "Why Is Git Rebase?"
JavaScript Community Webinar #14 "Why Is Git Rebase?"JavaScript Community Webinar #14 "Why Is Git Rebase?"
JavaScript Community Webinar #14 "Why Is Git Rebase?"
 
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...
 
Страх і сила помилок - IT Inside від GlobalLogic Education
Страх і сила помилок - IT Inside від GlobalLogic EducationСтрах і сила помилок - IT Inside від GlobalLogic Education
Страх і сила помилок - IT Inside від GlobalLogic Education
 
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”
 
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic QA Webinar “What does it take to become a Test Engineer”
GlobalLogic QA Webinar “What does it take to become a Test Engineer”
 
“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?“How to Secure Your Applications With a Keycloak?
“How to Secure Your Applications With a Keycloak?
 
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...
 
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...
 
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”
 
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
Embedded Webinar #17 "Low-level Network Testing in Embedded Devices Development"
 
GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Webinar "Introduction to Embedded QA"GlobalLogic Webinar "Introduction to Embedded QA"
GlobalLogic Webinar "Introduction to Embedded QA"
 
C++ Webinar "Why Should You Learn C++ in 2021-22?"
C++ Webinar "Why Should You Learn C++ in 2021-22?"C++ Webinar "Why Should You Learn C++ in 2021-22?"
C++ Webinar "Why Should You Learn C++ in 2021-22?"
 
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Modern CI/CD Pipeline Using Azure DevOps

  • 1. 1
  • 2. 2 Modern CI/CD Pipeline Using Azure DevOps Serhii Abanichev
  • 3. 3 Agenda 1. Problem of software delivery 2. Collaboration between Dev and Ops 3. Azure DevOps overview 4. New-Style pipelines 5. Demo
  • 7. 7 “DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.” - Donovan Brown DevOps definition
  • 8. 88 Why is DevOps important? • Our competition is already doing this • Increase velocity • Reduce downtime • Reduce human error
  • 9. 9 Microsoft proposal Set of cloud-hosted DevOps services, that work for any language targeting any platform: • Plan your project with Agile tools • Manage test plans from the web • Version code using Git • Deploy code using cross-platform CICD system Azure DevOps
  • 10. 10 What is Azure DevOps? Dashboards Agile planning Source control Build automation Continuous integration Test case management Package management Continuous deployment Release management Analytics and insights Visual Studio Team services (VSTS) Azure DevOps Any Language Any Platform 1 Plan 2 Develop and Test 3 Release 4 Monitor and learn
  • 11. 15 Any Language, Any Platform • Program in any language • .NET • Java • Python • Ruby • Nodejs • … • Develop on any OS • Linux • Mac • Windows • Deploy to any Platform • Android • iOS • Windows Phone • Docker • Azure • AWS • Linux • Mac • …
  • 12. 16 Components Plan, track, and discuss work across your teams so that you can deliver value to your users faster. CI/CD that works with any language, platform, and cloud. Connect to GitHub or any Git provider and deploy continuously to any cloud. Unlimited cloud-hosted private Git repos for your project. Collaborative pull requests, advanced file management, and more. The manual and exploratory testing toolkit to ship with confidence. Create, host, and share packages with your team. Add artifacts to your CI/CD pipelines with a single click. Built by the community – access extensions from Slack to SonarCloud to 1,000 other amazing things.
  • 13. 17 Build definition as code Why store build definitions in YAML? • Versioning • Keeping Build Definitions with Code • Branching • Peer Review • Reuse • Linting • Abstraction and Declarative Instruction The concept of a build definition as code as it relates to a build server for continuous integration means using an actual declarative language to define how your build should works instead of using a web user interface to define your build steps. You can use a general purpose programming language, a domain specific language or some other declarative construct to indicate how your build your system.
  • 14. 18 YAML build definition structure name: <version number> represents the build number which we can extract later on in the build process queue: name: <queue name for execution> triggers: <list of triggers> allows to trigger only when the required conditions are met variables: <list of variables> steps: <our build process> defined build process - task: <task name> displayName: <display name> inputs: <input parameters if any>
  • 15. 19 Pricing model Open source projects Small Teams Teams of any size Unlimited users and build time Azure Pipelines: 10 parallel jobs with unlimited minutes for CI/CD Azure Boards: Work item tracking and Kanban boards Azure Repos: Unlimited public Git repos Start free with up to 5 users Azure Pipelines: 1 hosted job with 1,800 minutes per month for CI/CD and 1 self-hosted job Azure Boards: Work item tracking and Kanban boards Azure Repos: Unlimited private Git repos Azure Artifacts: Package management Load testing (20,000 VUMs/month) Unlimited stakeholders Azure Pipelines: 1 hosted job with 1,800 minutes per month for CI/CD and 1 self-hosted job Azure Boards: Work item tracking and Kanban boards Azure Repos: Unlimited private Git repos Azure Artifacts: Package management Load testing (20,000 VUMs/month) Unlimited stakeholders Visual Studio subscribers included free Free Free $30/mo (10users)
  • 16. 20 Old-style pipeline Engineer Visual Studio Azure Repos Azure Build Pipeline Azure Release pipeline Azure Board Azure Container Registry Azure Kubernetes Service Azure Application Insights A z u r e D e v O p s
  • 17. 21 New-style pipeline Engineer Visual Studio Azure Repos Azure Pipeline Azure Board Azure Container Registry Azure Kubernetes Service Azure Application Insights A z u r e D e v O p s
  • 18. 22 Pull Request flow commit Pull request initiation Code updates and test triggering Creating feature branch Triggering CI build master feature branch
  • 19. 23 Release flow dev qa stg prodCI build Approval flow

Notes de l'éditeur

  1. It is very important to realize that DevOps is not a product. You cannot buy DevOps and install it. DevOps is not just automation or infrastructure as code. DevOps is people following a process enabled by products to deliver value to our end users.