SlideShare ist ein Scribd-Unternehmen logo
1 von 28
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
CI/CD Best Practices
for your DevOps Journey
November 4, 2019
© 2019 CloudBees, Inc. All Rights Reserved.
Today’s Speakers
CloudBees: Brian Dawson
DevOps Evangelist
@brianvdawson
DevOps.com: Mitchell Ashley
Director of Research
Mitchell Ashley
CloudBees: Doug Tidwell
Technical Marketing Director
Doug3000
© 2019 CloudBees, Inc. All Rights Reserved.
Webinar Overview
Agenda
● Beyond DevOps: Software Delivery Management
● Summary of 10 CI/CD best practices
● “Double-Click” on key best practices
● Breaks for Discussion
● Questions and Answers
© 2019 CloudBees, Inc. All Rights Reserved.
DevOps Elite Performers
46x
more frequent code deploys
i.e. multiple times per day vs. once a week or less
2406x
faster time to recover from downtime
i.e. less than an hour vs. weeks
2555x
faster lead-time from commit to deploy
i.e. less than an hour vs. more than a week
1/7th
as likely that changes will fail
i.e. fail 0-15% of the time vs. 46-60%
From https://devops-research.com/
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
But...
Things aren’t perfect.
We still have...
● Disparate, stand-alone software tools
● No common language, data or process sets
● No clear way to ensure we deliver the right thing
Disconnected and Fragmented teams, tools and process
© 2019 CloudBees, Inc. All Rights Reserved.
Executive,
Finance
CPO, PM,
Design
Software
Development and Delivery
IT and Engineering
Dev QA Ops
Marketing,
Docs,
Training
Sales
Support,
Services
Software Delivery
It Takes a Village to Truly Deliver Value
© 2019 CloudBees, Inc. All Rights Reserved.
Research Design Build Test Deploy Release Observe Support
Sales/MktgSecurity/OpsDev/QA
CPO/Product
Mgmt/ Design
Support/ServicesExec/ Finance
Identify/Plan
UNIVERSAL INSIGHTS
COMMON DATA
Jira
Confluence
Twistlock Jenkins XGitHub
SonarQubeArtifactory Rollout
Twistlock Flow
Splunk
Existing Enterprise Tools
Introducing Software Delivery Management
All functions collaborating
COMMON CONNECTED PROCESS
Slack
Salesforce
© 2019 CloudBees, Inc. All Rights Reserved.
We have to Start with CI/CD and DevOps
Technical Concerns
Software Delivery Management
Business Concerns
Code, Build
Release
Value and Impact
Strategy and Revenue
Research Code Build Test Deploy Release Observe SupportIdentify/Plan
CI
CD
DevOps
Test
Full Software Value Lifecycle
Sell
© 2019 CloudBees, Inc. All Rights Reserved.
But the reality is...
Far fewer people are truly practicing CI/CD than is widely
reported!
https://www.cloudbees.com/jenkins/devops-and-jenkins-community-survey-2019
© 2019 CloudBees, Inc. All Rights Reserved.
The Path to the Future
As the industry positions itself to build on DevOps practices
with a Software Delivery Management strategy…
...it’s more important than ever that we implement CI/CD best
practices, and prepare for the future.
© 2019 CloudBees, Inc. All Rights Reserved.
10 CI/CD Best Practices Summary
1. Track work items
2. Use source code management
3. Tags, not Branches
4. Automate the builds
5. Stop the line when the build breaks
6. Validate and test
7. Deploy
8. Improve incrementally
9. Collaboration
10.Create a true DevOps culture
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Best Practice #1:
Track Work Items
© 2019 CloudBees, Inc. All Rights Reserved.
Track Work Items
Use a system that lets you track everything related to your
release:
● User Stories
● Bugs
● Infrastructure and environment
This is useful for CI and CD, but is absolutely critical as you
move to DevOps and eventually Software Delivery
Management (SDM).
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Best Practice #2:
Use Source Code Management
© 2019 CloudBees, Inc. All Rights Reserved.
Use Source Code Management (SCM)
Use an SCM tool to track all the changes made for a
release.
A decentralized version control system such as git
A centralized version control system such as SVN
Must consider support for new and legacy systems
© 2019 CloudBees, Inc. All Rights Reserved.
Use Source Code Management
Encourage commit best practices
If culture is to not commit frequently, it won’t matter. If
a developer waits three weeks to commit or branches
off for three weeks, they have delayed the integration
and broken the principles
● Commit frequently
● Minimize duration of branches
© 2019 CloudBees, Inc. All Rights Reserved.
Use Source Code Management
Consider how triggers that launch builds are initiated.
● Trigger on every commit
● Trigger on developer branch
● Trigger on pull request
● Trigger on merge
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Best Practice #3:
Tags, not Branches
© 2019 CloudBees, Inc. All Rights Reserved.
Tags, not Branches
Commit or Merge to the trunk frequently, or even better,
always commit to the trunk/master
Developers often branch and maintain changes off of a
trunk to manage releases.
But branching creates complexity that prevents
everyone from working with a single source of truth, and
introduces maintenance overhead
● Use tags to manage releases
● Implement functionality incrementally
● Use feature flags
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Best Practice #4:
Automate the Builds
© 2019 CloudBees, Inc. All Rights Reserved.
Automate the Builds
Centralize and automate the entire build process
● Compiling the source code
● Packaging the compiled code
● Container images
The build process should run for every commit.
© 2019 CloudBees, Inc. All Rights Reserved.
Automate the Builds
The build should run as quickly as possible
The builds should take no more than 5-10 minutes.
Commit should be blocked during build, to support
“stop-the-line” culture. If builds are long developers
defer commits.
● Build
● Code scans, unit test
● Functional tests if possible
Promote the build to extended CI/CD loop for longer
activities
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Best Practice #6:
Validate and Test
© 2019 CloudBees, Inc. All Rights Reserved.
Validate and Test
Organizations that don’t validate every build are not
practicing CI.
Organizations that do not continuously test are not
practicing CD.
● Manage tests like code or as code
● Fail if the build if test thresholds aren’t met
● Duplicate the production environment as much as
possible
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Best Practice #10:
Create a True DevOps Culture
© 2019 CloudBees, Inc. All Rights Reserved.
Create a True DevOps Culture
This may be the most difficult practice to implement, but
no DevOps transformation is possible without it.
Starting a successful DevOps journey requires
significant culture change, including:
● Executive support
● Training
● Funding
● A new mindset for everyone: the CIO/CTO,
release managers, engineering managers, the ops
team, and the dev team.
But..start, learn, and improve
© 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved.
Thank You
Q & A

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
Simplilearn
 

Was ist angesagt? (20)

DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
Devops
DevopsDevops
Devops
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
DevOps
DevOpsDevOps
DevOps
 
Jenkins
JenkinsJenkins
Jenkins
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
 

Ähnlich wie CI/CD Best Practices for Your DevOps Journey

Ähnlich wie CI/CD Best Practices for Your DevOps Journey (20)

GitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CDGitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CD
 
Implementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile ProjectsImplementing Cloud-Based DevOps for Distributed Agile Projects
Implementing Cloud-Based DevOps for Distributed Agile Projects
 
2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In2019 Accelerate State of DevOps Survey Results Are In
2019 Accelerate State of DevOps Survey Results Are In
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline Scale DevSecOps with your Continuous Integration Pipeline
Scale DevSecOps with your Continuous Integration Pipeline
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
 
Shifting security all day dev ops
Shifting security all day dev opsShifting security all day dev ops
Shifting security all day dev ops
 
Scale Continuous Deployment to Production with DeployHub and CloudBees
Scale Continuous Deployment to Production with DeployHub and CloudBeesScale Continuous Deployment to Production with DeployHub and CloudBees
Scale Continuous Deployment to Production with DeployHub and CloudBees
 
Scale Continuous Deployment to Production with DeployHub and CloudBees
Scale Continuous Deployment to Production with DeployHub and CloudBeesScale Continuous Deployment to Production with DeployHub and CloudBees
Scale Continuous Deployment to Production with DeployHub and CloudBees
 
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainediOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
 
Fast 5 Things You Can Do Now to Get Ready for the Cloud
Fast 5 Things You Can Do Now to Get Ready for the CloudFast 5 Things You Can Do Now to Get Ready for the Cloud
Fast 5 Things You Can Do Now to Get Ready for the Cloud
 
Devops
DevopsDevops
Devops
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
 
DevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in MicroservicesDevOps Patterns to Enable Success in Microservices
DevOps Patterns to Enable Success in Microservices
 
AppSec in a World of Digital Transformation
 AppSec in a World of Digital Transformation AppSec in a World of Digital Transformation
AppSec in a World of Digital Transformation
 
Data Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsData Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps Fundamentals
 
SDM: The Fundamentals of Software Delivery Management
SDM: The Fundamentals of Software Delivery ManagementSDM: The Fundamentals of Software Delivery Management
SDM: The Fundamentals of Software Delivery Management
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective Actions
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
Iterating For Success: A Case Study in Remote Paired Programming, The Evoluti...
 

Mehr von DevOps.com

Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
DevOps.com
 

Mehr von DevOps.com (20)

Modernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source SoftwareModernizing on IBM Z Made Easier With Open Source Software
Modernizing on IBM Z Made Easier With Open Source Software
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
Comparing Microsoft SQL Server 2019 Performance Across Various Kubernetes Pla...
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
 
Vulnerability Discovery in the Cloud
Vulnerability Discovery in the CloudVulnerability Discovery in the Cloud
Vulnerability Discovery in the Cloud
 
2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions2021 Open Source Governance: Top Ten Trends and Predictions
2021 Open Source Governance: Top Ten Trends and Predictions
 
A New Year’s Ransomware Resolution
A New Year’s Ransomware ResolutionA New Year’s Ransomware Resolution
A New Year’s Ransomware Resolution
 
Getting Started with Runtime Security on Azure Kubernetes Service (AKS)
Getting Started with Runtime Security on Azure Kubernetes Service (AKS)Getting Started with Runtime Security on Azure Kubernetes Service (AKS)
Getting Started with Runtime Security on Azure Kubernetes Service (AKS)
 
Don't Panic! Effective Incident Response
Don't Panic! Effective Incident ResponseDon't Panic! Effective Incident Response
Don't Panic! Effective Incident Response
 
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's CultureCreating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
Creating a Culture of Chaos: Chaos Engineering Is Not Just Tools, It's Culture
 
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with TeleportRole Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
Role Based Access Controls (RBAC) for SSH and Kubernetes Access with Teleport
 
Monitoring Serverless Applications with Datadog
Monitoring Serverless Applications with DatadogMonitoring Serverless Applications with Datadog
Monitoring Serverless Applications with Datadog
 
Deliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or PrivatelyDeliver your App Anywhere … Publicly or Privately
Deliver your App Anywhere … Publicly or Privately
 
Securing medical apps in the age of covid final
Securing medical apps in the age of covid finalSecuring medical apps in the age of covid final
Securing medical apps in the age of covid final
 
How to Build a Healthy On-Call Culture
How to Build a Healthy On-Call CultureHow to Build a Healthy On-Call Culture
How to Build a Healthy On-Call Culture
 
The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021The Evolving Role of the Developer in 2021
The Evolving Role of the Developer in 2021
 
Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?Service Mesh: Two Big Words But Do You Need It?
Service Mesh: Two Big Words But Do You Need It?
 
Secure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift EnvironmentsSecure Data Sharing in OpenShift Environments
Secure Data Sharing in OpenShift Environments
 
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
How to Govern Identities and Access in Cloud Infrastructure: AppsFlyer Case S...
 
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
Elevate Your Enterprise Python and R AI, ML Software Strategy with Anaconda T...
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

CI/CD Best Practices for Your DevOps Journey

  • 1. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. CI/CD Best Practices for your DevOps Journey November 4, 2019
  • 2. © 2019 CloudBees, Inc. All Rights Reserved. Today’s Speakers CloudBees: Brian Dawson DevOps Evangelist @brianvdawson DevOps.com: Mitchell Ashley Director of Research Mitchell Ashley CloudBees: Doug Tidwell Technical Marketing Director Doug3000
  • 3. © 2019 CloudBees, Inc. All Rights Reserved. Webinar Overview Agenda ● Beyond DevOps: Software Delivery Management ● Summary of 10 CI/CD best practices ● “Double-Click” on key best practices ● Breaks for Discussion ● Questions and Answers
  • 4. © 2019 CloudBees, Inc. All Rights Reserved. DevOps Elite Performers 46x more frequent code deploys i.e. multiple times per day vs. once a week or less 2406x faster time to recover from downtime i.e. less than an hour vs. weeks 2555x faster lead-time from commit to deploy i.e. less than an hour vs. more than a week 1/7th as likely that changes will fail i.e. fail 0-15% of the time vs. 46-60% From https://devops-research.com/
  • 5. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. But... Things aren’t perfect.
  • 6. We still have... ● Disparate, stand-alone software tools ● No common language, data or process sets ● No clear way to ensure we deliver the right thing Disconnected and Fragmented teams, tools and process
  • 7. © 2019 CloudBees, Inc. All Rights Reserved. Executive, Finance CPO, PM, Design Software Development and Delivery IT and Engineering Dev QA Ops Marketing, Docs, Training Sales Support, Services Software Delivery It Takes a Village to Truly Deliver Value
  • 8. © 2019 CloudBees, Inc. All Rights Reserved. Research Design Build Test Deploy Release Observe Support Sales/MktgSecurity/OpsDev/QA CPO/Product Mgmt/ Design Support/ServicesExec/ Finance Identify/Plan UNIVERSAL INSIGHTS COMMON DATA Jira Confluence Twistlock Jenkins XGitHub SonarQubeArtifactory Rollout Twistlock Flow Splunk Existing Enterprise Tools Introducing Software Delivery Management All functions collaborating COMMON CONNECTED PROCESS Slack Salesforce
  • 9. © 2019 CloudBees, Inc. All Rights Reserved. We have to Start with CI/CD and DevOps Technical Concerns Software Delivery Management Business Concerns Code, Build Release Value and Impact Strategy and Revenue Research Code Build Test Deploy Release Observe SupportIdentify/Plan CI CD DevOps Test Full Software Value Lifecycle Sell
  • 10. © 2019 CloudBees, Inc. All Rights Reserved. But the reality is... Far fewer people are truly practicing CI/CD than is widely reported! https://www.cloudbees.com/jenkins/devops-and-jenkins-community-survey-2019
  • 11. © 2019 CloudBees, Inc. All Rights Reserved. The Path to the Future As the industry positions itself to build on DevOps practices with a Software Delivery Management strategy… ...it’s more important than ever that we implement CI/CD best practices, and prepare for the future.
  • 12. © 2019 CloudBees, Inc. All Rights Reserved. 10 CI/CD Best Practices Summary 1. Track work items 2. Use source code management 3. Tags, not Branches 4. Automate the builds 5. Stop the line when the build breaks 6. Validate and test 7. Deploy 8. Improve incrementally 9. Collaboration 10.Create a true DevOps culture
  • 13. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Best Practice #1: Track Work Items
  • 14. © 2019 CloudBees, Inc. All Rights Reserved. Track Work Items Use a system that lets you track everything related to your release: ● User Stories ● Bugs ● Infrastructure and environment This is useful for CI and CD, but is absolutely critical as you move to DevOps and eventually Software Delivery Management (SDM).
  • 15. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Best Practice #2: Use Source Code Management
  • 16. © 2019 CloudBees, Inc. All Rights Reserved. Use Source Code Management (SCM) Use an SCM tool to track all the changes made for a release. A decentralized version control system such as git A centralized version control system such as SVN Must consider support for new and legacy systems
  • 17. © 2019 CloudBees, Inc. All Rights Reserved. Use Source Code Management Encourage commit best practices If culture is to not commit frequently, it won’t matter. If a developer waits three weeks to commit or branches off for three weeks, they have delayed the integration and broken the principles ● Commit frequently ● Minimize duration of branches
  • 18. © 2019 CloudBees, Inc. All Rights Reserved. Use Source Code Management Consider how triggers that launch builds are initiated. ● Trigger on every commit ● Trigger on developer branch ● Trigger on pull request ● Trigger on merge
  • 19. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Best Practice #3: Tags, not Branches
  • 20. © 2019 CloudBees, Inc. All Rights Reserved. Tags, not Branches Commit or Merge to the trunk frequently, or even better, always commit to the trunk/master Developers often branch and maintain changes off of a trunk to manage releases. But branching creates complexity that prevents everyone from working with a single source of truth, and introduces maintenance overhead ● Use tags to manage releases ● Implement functionality incrementally ● Use feature flags
  • 21. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Best Practice #4: Automate the Builds
  • 22. © 2019 CloudBees, Inc. All Rights Reserved. Automate the Builds Centralize and automate the entire build process ● Compiling the source code ● Packaging the compiled code ● Container images The build process should run for every commit.
  • 23. © 2019 CloudBees, Inc. All Rights Reserved. Automate the Builds The build should run as quickly as possible The builds should take no more than 5-10 minutes. Commit should be blocked during build, to support “stop-the-line” culture. If builds are long developers defer commits. ● Build ● Code scans, unit test ● Functional tests if possible Promote the build to extended CI/CD loop for longer activities
  • 24. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Best Practice #6: Validate and Test
  • 25. © 2019 CloudBees, Inc. All Rights Reserved. Validate and Test Organizations that don’t validate every build are not practicing CI. Organizations that do not continuously test are not practicing CD. ● Manage tests like code or as code ● Fail if the build if test thresholds aren’t met ● Duplicate the production environment as much as possible
  • 26. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Best Practice #10: Create a True DevOps Culture
  • 27. © 2019 CloudBees, Inc. All Rights Reserved. Create a True DevOps Culture This may be the most difficult practice to implement, but no DevOps transformation is possible without it. Starting a successful DevOps journey requires significant culture change, including: ● Executive support ● Training ● Funding ● A new mindset for everyone: the CIO/CTO, release managers, engineering managers, the ops team, and the dev team. But..start, learn, and improve
  • 28. © 2019 CloudBees, Inc. All Rights Reserved.© 2019 CloudBees, Inc. All Rights Reserved. Thank You Q & A

Hinweis der Redaktion

  1. This text is from the webinar registration page at https://webinars.devops.com/ci/cd-best-practices-for-your-devops-journey.
  2. I left a few slides from the SDM deck in here. I’m sure we don’t need all of them, but wasn’t sure how much you want to talk about SDM here.
  3. Liked the background on this slide and the next one, left it in here
  4. Brian
  5. Brian
  6. Doug
  7. Must Integrated to SCM, create a Bill of Materials, which is required Containers, pipeline as code, Confirg as code Allows you to observe
  8. Doug
  9. I did the rest of the slides in this format. It doesn’t take long to cut and paste the text into the bullet point style if you want to go that way. Brian: Do make note to the fact DVCS is Git, is the new way. But as you look to connect all teams you may have to build in support for a SVN style work flow Cover pull requests
  10. This is table stakes for continuous integration. A developer can set up an automated build and have the build run on every commit. But if the culture is to not commit frequently, it won’t matter. If a developer waits three weeks to commit or branches off for three weeks, he has delayed the integration and broken the principles. If a build breaks, the team has to sort through three weeks of work to figure out where it broke. Principle is integrate changes early and often to find and fix problems fast, so the cost of fixing issues is less, or even more importantly errors dont make it to production
  11. Do: Use solution like Multibranch plugin (Jenkins) or preview environment (Jenkins X) to trigger build on Pull Request
  12. NEED TO ADD TIPS ON HOW TO KEEP THE BUILDS SHORTER. But make sure they don’t contradict what we say in the Validate and Test section.