SlideShare uma empresa Scribd logo
1 de 21
HIGH PERFORMANCE
CONTINUOUS DELIVERY
VERSIONING AND RELEASE
MANAGEMENT ALIGNED
About me
• Sven Erik Knop, Perforce Software Ltd
– Senior Technical Specialist
• Joined Perforce as a Consultant in 2008
• Extensive knowledge in deploying and optimizing
Perforce installations and processes
• Background in Development and Databases
• Author of P4Python
What we do
• Perforce helps delivery teams
build complex products
collaboratively, securely and
efficiently.
• Commonly used for
– Software
– Games
– Electronics
– Animations
– Chipsets
– Medical Devices
– IoT
Collaborative IP Creation
Global 24x7 Support
3
Market Leaders Trust Perforce
20,000 users9,500 users
500+ terabytes
5,000+ users
coders & designers
2,500 users
10,000,000
Perforce xact/day
Everything! 11,000+ users
Chips
Games
& Animation
Cloud/SW Electronics Systems Automotive
4
Agenda
• Why continuous integration (CI)?
• Why continuous delivery (CD)?
• And what does this have to do with Perforce?
5
Why Continuous Integration?
• It’s all about the mainline (master, trunk ...)
Mainline
• The mainline model:
– The source of all branches
– The ultimate target of all changes
• The mainline should be:
– Always buildable
– Always testable
– Always deployable
– Ideal: Always deliverable
Why Continuous Delivery?
• Lack of communication between teams
• Each team uses a different data repository
• Environments can be substantially different
• Software deployed in different ways for each environment
Dev QA
Pre
Production
Production
P I P E L I N E
Continuous Delivery
• Deliver working product to users as quickly as possible
• Every change (check-in) leads to a potential release
• Give business the option to release
– what, when, to whom
• A change in process, and culture
Continuous Delivery
Reqs Dev Test Integrate Deploy
9
C O O R D I N AT E A S S E T S
(code, scripts, artwork, binaries, etc.)
C O O R D I N AT E T E A M S
(design, dev, release, devops, etc.)
P I P E L I N E
Best practices for success
Team Collaboration Flexible Workflow Complete Visibility
Detailed HistoryUniversal SecurityVersion Everything
Just-in-time delivery
Perforce’s solution: Helix
12
Continuous Delivery Demo
13
Demo environment
14
• Perforce platform VM stores artifacts and code review
data
• Infrastructure VM manages the pipeline, builds
artifacts and hosts environments in docker
• Docker image for Jpetstore is deployed to QA and
Production environments
Demo scenario
Edit the slider to include two more photos and deliver to
production using the Continuous Delivery pipeline
15
Our pipeline
16
• Application checked out, built and checked back in and labeled
• Artifacts retrieved from Perforce and build into docker container and checked back in
• Docker container deployed to QA for testing
• Docker container deployed to production for testing
Auto Auto Manual
Versioning pipeline artifacts
17
Perforce can store data of any type
and size. In this demo scenario
– Application Source
– SQL Scripts
– Graphics Files
– Build Artifacts
– Deployment images
– Environment Definitions
– Infrastructure as code
Developer workflow
• Working with files is optimized for Continuous Delivery
– Select stream to work from and start working
– Sync only the content needed for a task
– Code committed to trunk
18
19
Continuous code reviews
• Pre and post-commit code
(& doc) reviews across lifecycle
• Inline conversations and diffs
• Built-in hooks for pre-flight
testing and deployment
• Dashboard for continuous
delivery across multiple projects
• Across Git and Perforce
Successful Implementation of a
Continuous Delivery Pipeline
• High velocity build, test and deploy lifecycle
• Increased developer onus, unbreakable builds
• No room for “it works on my machine”
• Builds tested on production like environments
• Deployment to internal or external users
Integrate Build Test Deploy Release
Version
Control
Thank You!
sknop@perforce.com / @p4sven

Mais conteúdo relacionado

Mais procurados

GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita IvanovGridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita IvanovJAXLondon2014
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian PerformanceAtlassian
 
AtlasCamp 2014: Keynote
AtlasCamp 2014: KeynoteAtlasCamp 2014: Keynote
AtlasCamp 2014: KeynoteAtlassian
 
Baking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at NetflixBaking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at NetflixAtlassian
 
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoFrom Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoDatabricks
 
Techorama migrate to sharepoint framework
Techorama migrate to sharepoint frameworkTechorama migrate to sharepoint framework
Techorama migrate to sharepoint frameworkVincent Biret
 
Best practices deploying Sitecore to Microsoft Azure
Best practices deploying Sitecore to Microsoft AzureBest practices deploying Sitecore to Microsoft Azure
Best practices deploying Sitecore to Microsoft AzureThom Puiman
 
SPS vancouver is it possible to do devops with SharePoint Framework
SPS vancouver is it possible to do devops with SharePoint FrameworkSPS vancouver is it possible to do devops with SharePoint Framework
SPS vancouver is it possible to do devops with SharePoint FrameworkVincent Biret
 
Fundamental Paradigms for Java Developers: NoSQL and OSGI
Fundamental Paradigms for Java Developers: NoSQL and OSGIFundamental Paradigms for Java Developers: NoSQL and OSGI
Fundamental Paradigms for Java Developers: NoSQL and OSGIOtávio Santana
 
Why AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsWhy AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsnj-azure
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowVincent Biret
 
DAIS Europe Nov. 2020 presentation on MLflow Model Serving
DAIS Europe Nov. 2020 presentation on MLflow Model ServingDAIS Europe Nov. 2020 presentation on MLflow Model Serving
DAIS Europe Nov. 2020 presentation on MLflow Model Servingamesar0
 
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 | Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 | Shailendra Chauhan
 
The art of .net deployment automation
The art of .net deployment automationThe art of .net deployment automation
The art of .net deployment automationMidVision
 
Modern web dev_taxonomy
Modern web dev_taxonomyModern web dev_taxonomy
Modern web dev_taxonomykevin_donovan
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseEric Shupps
 
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...Yves Hwang
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOpsRui Quintino
 
AtlasCamp 2014: Atlassian Connect State of the Union
AtlasCamp 2014: Atlassian Connect State of the UnionAtlasCamp 2014: Atlassian Connect State of the Union
AtlasCamp 2014: Atlassian Connect State of the UnionAtlassian
 

Mais procurados (20)

GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita IvanovGridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance
 
AtlasCamp 2014: Keynote
AtlasCamp 2014: KeynoteAtlasCamp 2014: Keynote
AtlasCamp 2014: Keynote
 
Baking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at NetflixBaking Stash in the AWS Cloud at Netflix
Baking Stash in the AWS Cloud at Netflix
 
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin KuoFrom Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
From Prototyping to Deployment at Scale with R and sparklyr with Kevin Kuo
 
Techorama migrate to sharepoint framework
Techorama migrate to sharepoint frameworkTechorama migrate to sharepoint framework
Techorama migrate to sharepoint framework
 
Best practices deploying Sitecore to Microsoft Azure
Best practices deploying Sitecore to Microsoft AzureBest practices deploying Sitecore to Microsoft Azure
Best practices deploying Sitecore to Microsoft Azure
 
SPS vancouver is it possible to do devops with SharePoint Framework
SPS vancouver is it possible to do devops with SharePoint FrameworkSPS vancouver is it possible to do devops with SharePoint Framework
SPS vancouver is it possible to do devops with SharePoint Framework
 
Fundamental Paradigms for Java Developers: NoSQL and OSGI
Fundamental Paradigms for Java Developers: NoSQL and OSGIFundamental Paradigms for Java Developers: NoSQL and OSGI
Fundamental Paradigms for Java Developers: NoSQL and OSGI
 
Why AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutionsWhy AvePoint chose Azure for its Office 365 solutions
Why AvePoint chose Azure for its Office 365 solutions
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
DAIS Europe Nov. 2020 presentation on MLflow Model Serving
DAIS Europe Nov. 2020 presentation on MLflow Model ServingDAIS Europe Nov. 2020 presentation on MLflow Model Serving
DAIS Europe Nov. 2020 presentation on MLflow Model Serving
 
Cloud powered search
Cloud powered searchCloud powered search
Cloud powered search
 
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 | Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
Best Angular Training Online: Angular tutorial | Learn Angular 2 to 10 |
 
The art of .net deployment automation
The art of .net deployment automationThe art of .net deployment automation
The art of .net deployment automation
 
Modern web dev_taxonomy
Modern web dev_taxonomyModern web dev_taxonomy
Modern web dev_taxonomy
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
AtlasCamp 2014: Atlassian Connect State of the Union
AtlasCamp 2014: Atlassian Connect State of the UnionAtlasCamp 2014: Atlassian Connect State of the Union
AtlasCamp 2014: Atlassian Connect State of the Union
 

Destaque

Versioning schemes and branching models for Continuous Delivery - Continuous ...
Versioning schemes and branching models for Continuous Delivery - Continuous ...Versioning schemes and branching models for Continuous Delivery - Continuous ...
Versioning schemes and branching models for Continuous Delivery - Continuous ...Pavel Chunyayev
 
Next Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackNext Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackTim O'Brien
 
The growth of tourism
The growth of tourismThe growth of tourism
The growth of tourismRayz12
 
Redesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCONRedesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCONDaniel Jacobson
 
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Daniel Jacobson
 
Industrial Location
Industrial LocationIndustrial Location
Industrial Locationjespi
 
AP Human Geography: Unit 6: Industrialization
AP Human Geography: Unit 6: Industrialization AP Human Geography: Unit 6: Industrialization
AP Human Geography: Unit 6: Industrialization Daniel Eiland
 
The Demographic Transition Model (DTM)
The Demographic Transition Model (DTM)The Demographic Transition Model (DTM)
The Demographic Transition Model (DTM)Steven Heath
 
Population policies
Population policiesPopulation policies
Population policiesSteven Heath
 
IB Geography: Development: Rostow Model
IB Geography: Development: Rostow ModelIB Geography: Development: Rostow Model
IB Geography: Development: Rostow ModelRichard Allaway
 
Population pyramids
Population pyramidsPopulation pyramids
Population pyramidsSteven Heath
 
Ageing and youthful populations
Ageing and youthful populationsAgeing and youthful populations
Ageing and youthful populationsSteven Heath
 
Intro to agriculture
Intro to agricultureIntro to agriculture
Intro to agricultureurucom
 

Destaque (17)

Versioning schemes and branching models for Continuous Delivery - Continuous ...
Versioning schemes and branching models for Continuous Delivery - Continuous ...Versioning schemes and branching models for Continuous Delivery - Continuous ...
Versioning schemes and branching models for Continuous Delivery - Continuous ...
 
Next Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise StackNext Generation Development Infrastructure with the Maven Enterprise Stack
Next Generation Development Infrastructure with the Maven Enterprise Stack
 
The growth of tourism
The growth of tourismThe growth of tourism
The growth of tourism
 
Redesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCONRedesigning the Netflix API - OSCON
Redesigning the Netflix API - OSCON
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014Top 10 Lessons Learned from the Netflix API - OSCON 2014
Top 10 Lessons Learned from the Netflix API - OSCON 2014
 
Industrial Location
Industrial LocationIndustrial Location
Industrial Location
 
Industrial theory
Industrial theoryIndustrial theory
Industrial theory
 
AP Human Geography: Unit 6: Industrialization
AP Human Geography: Unit 6: Industrialization AP Human Geography: Unit 6: Industrialization
AP Human Geography: Unit 6: Industrialization
 
The Demographic Transition Model (DTM)
The Demographic Transition Model (DTM)The Demographic Transition Model (DTM)
The Demographic Transition Model (DTM)
 
Population policies
Population policiesPopulation policies
Population policies
 
IB Geography: Development: Rostow Model
IB Geography: Development: Rostow ModelIB Geography: Development: Rostow Model
IB Geography: Development: Rostow Model
 
Population pyramids
Population pyramidsPopulation pyramids
Population pyramids
 
Ageing and youthful populations
Ageing and youthful populationsAgeing and youthful populations
Ageing and youthful populations
 
Migration models
Migration modelsMigration models
Migration models
 
Migration
MigrationMigration
Migration
 
Intro to agriculture
Intro to agricultureIntro to agriculture
Intro to agriculture
 

Semelhante a High Performance Continuous Delivery - Versioning and Release Management Aligned

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 & ...Perforce
 
Embedded services by Faststream Technologies
Embedded services by Faststream TechnologiesEmbedded services by Faststream Technologies
Embedded services by Faststream TechnologiesHari Narayana
 
Coding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkCoding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkJames Wickett
 
Xebia labsperforce final
Xebia labsperforce finalXebia labsperforce final
Xebia labsperforce finalPerforce
 
Maniteja_Professional_Resume
Maniteja_Professional_ResumeManiteja_Professional_Resume
Maniteja_Professional_ResumeVaddi Maniteja
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationMark Rendell
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsJeremy Brown
 
Multicore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxMulticore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxBrad Dixon
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityGeoff Harcourt
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureRed Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureIntel® Software
 
PapyrusRT: Modelling and Code Generation
PapyrusRT: Modelling and Code GenerationPapyrusRT: Modelling and Code Generation
PapyrusRT: Modelling and Code GenerationErnesto Posse
 

Semelhante a High Performance Continuous Delivery - Versioning and Release Management Aligned (20)

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 & ...
 
Embedded services by Faststream Technologies
Embedded services by Faststream TechnologiesEmbedded services by Faststream Technologies
Embedded services by Faststream Technologies
 
harish
harishharish
harish
 
Coding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkCoding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE framework
 
Xebia labsperforce final
Xebia labsperforce finalXebia labsperforce final
Xebia labsperforce final
 
Maniteja_Professional_Resume
Maniteja_Professional_ResumeManiteja_Professional_Resume
Maniteja_Professional_Resume
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Christopher_Reder_2016
Christopher_Reder_2016Christopher_Reder_2016
Christopher_Reder_2016
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 
Multicore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with LinuxMulticore 101: Migrating Embedded Apps to Multicore with Linux
Multicore 101: Migrating Embedded Apps to Multicore with Linux
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 
Resume_suresh_final
Resume_suresh_finalResume_suresh_final
Resume_suresh_final
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureRed Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
 
resume
resumeresume
resume
 
PapyrusRT: Modelling and Code Generation
PapyrusRT: Modelling and Code GenerationPapyrusRT: Modelling and Code Generation
PapyrusRT: Modelling and Code Generation
 
Kupch_Resume
Kupch_ResumeKupch_Resume
Kupch_Resume
 
Joel_2015
Joel_2015Joel_2015
Joel_2015
 
Joel_2015
Joel_2015Joel_2015
Joel_2015
 
Joel_2015
Joel_2015Joel_2015
Joel_2015
 
Joel_2015
Joel_2015Joel_2015
Joel_2015
 

Mais de Perforce

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsPerforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsPerforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessPerforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsPerforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowPerforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldPerforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterprisePerforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMPerforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Perforce
 

Mais de Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 

Último

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Último (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

High Performance Continuous Delivery - Versioning and Release Management Aligned

  • 1. HIGH PERFORMANCE CONTINUOUS DELIVERY VERSIONING AND RELEASE MANAGEMENT ALIGNED
  • 2. About me • Sven Erik Knop, Perforce Software Ltd – Senior Technical Specialist • Joined Perforce as a Consultant in 2008 • Extensive knowledge in deploying and optimizing Perforce installations and processes • Background in Development and Databases • Author of P4Python
  • 3. What we do • Perforce helps delivery teams build complex products collaboratively, securely and efficiently. • Commonly used for – Software – Games – Electronics – Animations – Chipsets – Medical Devices – IoT Collaborative IP Creation Global 24x7 Support 3
  • 4. Market Leaders Trust Perforce 20,000 users9,500 users 500+ terabytes 5,000+ users coders & designers 2,500 users 10,000,000 Perforce xact/day Everything! 11,000+ users Chips Games & Animation Cloud/SW Electronics Systems Automotive 4
  • 5. Agenda • Why continuous integration (CI)? • Why continuous delivery (CD)? • And what does this have to do with Perforce? 5
  • 6. Why Continuous Integration? • It’s all about the mainline (master, trunk ...)
  • 7. Mainline • The mainline model: – The source of all branches – The ultimate target of all changes • The mainline should be: – Always buildable – Always testable – Always deployable – Ideal: Always deliverable
  • 8. Why Continuous Delivery? • Lack of communication between teams • Each team uses a different data repository • Environments can be substantially different • Software deployed in different ways for each environment Dev QA Pre Production Production
  • 9. P I P E L I N E Continuous Delivery • Deliver working product to users as quickly as possible • Every change (check-in) leads to a potential release • Give business the option to release – what, when, to whom • A change in process, and culture Continuous Delivery Reqs Dev Test Integrate Deploy 9
  • 10. C O O R D I N AT E A S S E T S (code, scripts, artwork, binaries, etc.) C O O R D I N AT E T E A M S (design, dev, release, devops, etc.) P I P E L I N E Best practices for success Team Collaboration Flexible Workflow Complete Visibility Detailed HistoryUniversal SecurityVersion Everything
  • 14. Demo environment 14 • Perforce platform VM stores artifacts and code review data • Infrastructure VM manages the pipeline, builds artifacts and hosts environments in docker • Docker image for Jpetstore is deployed to QA and Production environments
  • 15. Demo scenario Edit the slider to include two more photos and deliver to production using the Continuous Delivery pipeline 15
  • 16. Our pipeline 16 • Application checked out, built and checked back in and labeled • Artifacts retrieved from Perforce and build into docker container and checked back in • Docker container deployed to QA for testing • Docker container deployed to production for testing Auto Auto Manual
  • 17. Versioning pipeline artifacts 17 Perforce can store data of any type and size. In this demo scenario – Application Source – SQL Scripts – Graphics Files – Build Artifacts – Deployment images – Environment Definitions – Infrastructure as code
  • 18. Developer workflow • Working with files is optimized for Continuous Delivery – Select stream to work from and start working – Sync only the content needed for a task – Code committed to trunk 18
  • 19. 19 Continuous code reviews • Pre and post-commit code (& doc) reviews across lifecycle • Inline conversations and diffs • Built-in hooks for pre-flight testing and deployment • Dashboard for continuous delivery across multiple projects • Across Git and Perforce
  • 20. Successful Implementation of a Continuous Delivery Pipeline • High velocity build, test and deploy lifecycle • Increased developer onus, unbreakable builds • No room for “it works on my machine” • Builds tested on production like environments • Deployment to internal or external users Integrate Build Test Deploy Release Version Control

Notas do Editor

  1. Perforce currently provides the world’s fastest and most scalable version management and collaboration platform. Put simply, we let companies track versions, or iterations, of their software assets as they’re developed. It’s not just source code we version. Far from it. We also do the same thing for binary files and digital assets – pictures, web sites, audio – almost anything you can create. Question to ask the audience – (especially executives) – are you familiar with version management – (if not, walk them through a customer example) If it’s digital and being developed, refined or changed by individuals or teams, Perforce can capture and version every amendment made. Right now, 350,000 users across 5,500 companies trust Perforce Software to safely version their code, assets and intellectual property.
  2. Opportunity to poll – how many of you use products from samsung? How many from apple? How many use Amazon? How many use services from google? You touch products built on Perforce, daily… Click…. We have 10000+ customers across the globe. This is a proven platform for delivering a diverse set of products.
  3. In order to achieve continuous delivery of software all teams involved in creating and releasing software to customers need to work in an agile manner. Repeatable processes are key to success. This involves both culture and process change and affects all teams involved. If every change could lead to a potential release there needs to be a high level of trust between all parties involves. All teams need to have a common goal of getting quality products to users faster.
  4. There is no “one true way” to do continuous delivery, but there are some best practices that should be followed. Teams need to be collaborative. Responsibility of developers and QA does not end until after software is successfully running in production. There needs to be a flexible workflow, tools amd processes vary, flexibility without sacrificing repeatability is key. Due to a potentially huge increase in the number of product releases it is important to know what work is in progress and how that work relates to requirements and code. Best practices dictate versioning everything. Anything that has been deployed to production should be able to be recreated in the future if needed. This can prove challenging in many environments. Delivering quality products quickly relies on extensive collaboration. This requires granting access to intellectual property to a wider range of people which maintaining control and auditability. It is critically important that in the event that something goes wrong, and things do go wrong from time to time, that there is detailed history of what has happened to your products. When was something updated? Who updated it? Why was the change made? Who accessed a file?
  5. I’m now going to give you an overview of what we will show in the demo.
  6. We have used some commonly used technologies as part of our stack. Using Puppet and Docker to define our infrastructure as code in conjunction with the Perforce platform made producing easily reproducible environments simple.
  7. I’m going to make a change to our web application. I’m going to change the side menu background color from yellow to white.
  8. The continuous delivery pipeline is modeled in Jenkins using the build pipeline plugin. This approach is a common approach but other solutions can be used with the perforce platform to achieve the same results. Our pipeline uses both automated and manual transitions to move between stages.
  9. All artifacts used during the process of creating, building and deploying the JPetStore application are stored in version control.
  10. The demo uses trunk based development which is an approach commonly used with continuous delivery. When using trunk based development there is an emphasis on frequent, small checkins that are high quality. Don’t break trunk, if you do fixing it is your first priority!
  11. In order to help ensure quality code is checked into trunk we’ll show how code reviews can easily be added to your development process. Code reviews can be applied to many types of content and can also be used for things like test automation scripts, infrastructure as code and so on.
  12. While there are many discussions ongoing on the best models for implementing CD, here is what we see in our most successful customers – Versioning is used for all managing iterations of all aspects of the product, including code and content Every change is recorded, even if it is thought of as being irrelevant by the individual Automation is used at all stages to build, test, and deploy Managers have visibility into all aspects of development, developers adopt an open culture of collaboration Having a single hub of information makes delivery possible