SlideShare a Scribd company logo
© 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

More Related Content

What's hot (20)

PDF
"DevOps > CI+CD "
Innovation Roots
 
PPTX
Transforming Organizations with CI/CD
Cprime
 
PPTX
DevOps
Gehad Elsayed
 
PPTX
Fundamentals of DevOps and CI/CD
Batyr Nuryyev
 
PDF
DevOps & SRE at Google Scale
Kaushik Bhattacharya
 
PDF
DevOps Powerpoint Presentation Slides
SlideTeam
 
PPTX
DevOps Introduction
Robert Sell
 
PPTX
Azure Pipelines
Mithun Shanbhag
 
PDF
How to implement DevOps in your Organization
Dalibor Blazevic
 
PDF
DevOps Best Practices
Giragadurai Vallirajan
 
PDF
DevSecOps and the CI/CD Pipeline
James Wickett
 
PDF
CI:CD in Lightspeed with kubernetes and argo cd
Billy Yuen
 
PPTX
Introduction to DevOps
Hawkman Academy
 
PDF
DevOps Transformation: Learnings and Best Practices
QBurst
 
PDF
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
Edureka!
 
PPTX
DevOps to DevSecOps Journey..
Siddharth Joshi
 
PDF
GitOps - Operation By Pull Request
Kasper Nissen
 
PPTX
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 
PPTX
DevOps introduction
Christian F. Nissen
 
PPTX
Azure DevOps Best Practices Webinar
Cambay Digital
 
"DevOps > CI+CD "
Innovation Roots
 
Transforming Organizations with CI/CD
Cprime
 
Fundamentals of DevOps and CI/CD
Batyr Nuryyev
 
DevOps & SRE at Google Scale
Kaushik Bhattacharya
 
DevOps Powerpoint Presentation Slides
SlideTeam
 
DevOps Introduction
Robert Sell
 
Azure Pipelines
Mithun Shanbhag
 
How to implement DevOps in your Organization
Dalibor Blazevic
 
DevOps Best Practices
Giragadurai Vallirajan
 
DevSecOps and the CI/CD Pipeline
James Wickett
 
CI:CD in Lightspeed with kubernetes and argo cd
Billy Yuen
 
Introduction to DevOps
Hawkman Academy
 
DevOps Transformation: Learnings and Best Practices
QBurst
 
What Is DevOps? | Introduction To DevOps | DevOps Tools | DevOps Tutorial | D...
Edureka!
 
DevOps to DevSecOps Journey..
Siddharth Joshi
 
GitOps - Operation By Pull Request
Kasper Nissen
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 
DevOps introduction
Christian F. Nissen
 
Azure DevOps Best Practices Webinar
Cambay Digital
 

Similar to CI/CD Best Practices for Your DevOps Journey (20)

PPTX
CI CD OPS WHATHAVEYOU
Hanokh Aloni
 
DOCX
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
PDF
Moving faster with CI/CD: Best DevOps practices and lessons learnt
Malinda Kapuruge
 
PDF
2019 Accelerate State of DevOps Survey Results Are In
DevOps.com
 
PDF
The Continuous delivery value - Funaro
Codemotion
 
PDF
The Continuous delivery Value @ codemotion 2014
David Funaro
 
PDF
Devops
Mauro Cossu
 
PDF
Boast the Potential of DevOps with CI CD
Zoe Gilbert
 
PPTX
Agile & DevOps - It's all about project success
Adam Stephensen
 
PPTX
Continuous Delivery: why ? where to start ? how to scale ?
Jean-Philippe Briend
 
PDF
An Ultimate 10 Point DevOps Checklist for your Organization.pdf
Sparity1
 
PDF
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
TechWell
 
PPTX
DevOps Practices in a Nutshell
Fibonalabs
 
PDF
DevOps Implementation Roadmap
SofiaCarter4
 
PPTX
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
Brian Dawson
 
PDF
The DevOps Experience
MetroStar
 
PPTX
DevOps with Microsoft Stack
Deepti Jain
 
PDF
Scaling Git for the Enterprise
TechWell
 
PDF
Upstate DevOps - CICD - November 2019
Allen Vailliencourt
 
DOCX
"Master DevOps with NareshIT's top-rated online training!"
bank auction
 
CI CD OPS WHATHAVEYOU
Hanokh Aloni
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
LGS, GBHS&IC, University Of South-Asia, TARA-Technologies
 
Moving faster with CI/CD: Best DevOps practices and lessons learnt
Malinda Kapuruge
 
2019 Accelerate State of DevOps Survey Results Are In
DevOps.com
 
The Continuous delivery value - Funaro
Codemotion
 
The Continuous delivery Value @ codemotion 2014
David Funaro
 
Devops
Mauro Cossu
 
Boast the Potential of DevOps with CI CD
Zoe Gilbert
 
Agile & DevOps - It's all about project success
Adam Stephensen
 
Continuous Delivery: why ? where to start ? how to scale ?
Jean-Philippe Briend
 
An Ultimate 10 Point DevOps Checklist for your Organization.pdf
Sparity1
 
Continuous Delivery: Rapid and Reliable Releases with DevOps Practices
TechWell
 
DevOps Practices in a Nutshell
Fibonalabs
 
DevOps Implementation Roadmap
SofiaCarter4
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
Brian Dawson
 
The DevOps Experience
MetroStar
 
DevOps with Microsoft Stack
Deepti Jain
 
Scaling Git for the Enterprise
TechWell
 
Upstate DevOps - CICD - November 2019
Allen Vailliencourt
 
"Master DevOps with NareshIT's top-rated online training!"
bank auction
 
Ad

More from DevOps.com (20)

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

Recently uploaded (20)

PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Digital Circuits, important subject in CS
contactparinay1
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 

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

Editor's Notes

  • #4: This text is from the webinar registration page at https://webinars.devops.com/ci/cd-best-practices-for-your-devops-journey.
  • #6: 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.
  • #7: Liked the background on this slide and the next one, left it in here
  • #12: Brian
  • #13: Brian
  • #14: Doug
  • #15: Must Integrated to SCM, create a Bill of Materials, which is required Containers, pipeline as code, Confirg as code Allows you to observe
  • #16: Doug
  • #17: 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
  • #18: 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
  • #19: Do: Use solution like Multibranch plugin (Jenkins) or preview environment (Jenkins X) to trigger build on Pull Request
  • #24: 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.