SlideShare uma empresa Scribd logo
1 de 17
Continuous Delivery
with Perforce Helix
Sven Erik Knop
Senior Technical Specialist
2
Agenda
 Overview of Continuous Delivery
 Best practices for success
 Common Tools and Technologies
 Demo
3
Can’t we just do what we currently do only
faster?
 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
4
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
4
P I P E L I N E Reqs Dev Test Integrate Deploy
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
6
Perforce enables Continuous Delivery
Developer
Collaboration
Swarm
Design
Collaboration
Commons
Development
Analytics
Insights
Perforce
Version
Management
100s of Terabytes Globally Distributed DVCS Any File Type
DEV
DEV
HQ
MFG
End-to-end
Collaboration
Unified Asset
Versioning
P I P E L I N E Reqs Dev Test Integrate Deploy
7
Common Terminology and Tools
Term Description Related tools
Artifact Any type of file associated with a product. Could be code,
artwork, design documents, binary build output plus many others.
Version control
Trunk based
development
Artifacts always checked into trunk. Software can be released
from branches or directly from trunk.
Version control
Continuous
Integration
The practice of building and testing code each time code is
checked in and integrated. Necessary for Continuous Delivery.
Jenkins, TeamCity, Bamboo,
Electric Commander, Circle CI,
Travis CI
Infrastructure
as code
Environment and server configuration is defined as code,
commonly in a tool specific DSL. Configurations are applied to
servers to build environments.
Puppet, Chef, Ansible, Salt,
CFEngine
Deployment
Automation
Tools that enable applications to be modeled along with
environments for deployment. The models are then used to
deploy applications. Can be used in conjunction with
infrastructure as code.
IBM UrbanCode Deploy, Nolio,
Electric Flow,
Puppet, Chef, Ansible, Salt,
CFEngine
7
8
Tools Usage in Continuous Delivery
Dev QA
Pre
Production
Production
Auto Auto Manual
Version
Control
Version
Control
Version
Control
Version
Control
Continuous
Integration
Infrastructure
as code
Infrastructure as
code
Infrastructure
as code
Deployment
Automation
Deployment
Automation
Deployment
Automation
Test
Automation
Test Automation Test
Automation
Continuous Delivery
Demo
9
10
Demo environment
 VM stores
• Helix P4D for code and artifacts
• Helix Swarm for review
• Jenkins for pipeline
 Docker image for Jpetstore is deployed to QA
and Production environments
11
Demo scenario
Edit the slider to include two more photos and
deliver to production using the Continuous Delivery
pipeline
12
Our pipeline
• 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
13
Versioning pipeline artifacts
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
14
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
15
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
16
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
17
Three Key Habits for successful
Continuous Delivery
 Collaboration
 Visibility
 Version Everything

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Git Everyday
Git EverydayGit Everyday
Git Everyday
 
Avoiding the DevOps Tax
Avoiding the DevOps Tax Avoiding the DevOps Tax
Avoiding the DevOps Tax
 
use case ibm k8s_service+devops
use case ibm k8s_service+devopsuse case ibm k8s_service+devops
use case ibm k8s_service+devops
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
Perforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad LitwinPerforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad Litwin
 
A DevSecOps Demo: Early, Everywhere, At Scale
A DevSecOps Demo: Early, Everywhere, At ScaleA DevSecOps Demo: Early, Everywhere, At Scale
A DevSecOps Demo: Early, Everywhere, At Scale
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
 
Deploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOpsDeploy multi-environment application with Azure DevOps
Deploy multi-environment application with Azure DevOps
 
IT Governance and Security Architecture in Docker, Kubernetes, OpenShift
IT Governance and Security Architecture in Docker, Kubernetes, OpenShiftIT Governance and Security Architecture in Docker, Kubernetes, OpenShift
IT Governance and Security Architecture in Docker, Kubernetes, OpenShift
 
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
GitLab Commit: Enhance your Compliance with Policy-Based CI/CDGitLab Commit: Enhance your Compliance with Policy-Based CI/CD
GitLab Commit: Enhance your Compliance with Policy-Based CI/CD
 
Was ist ein Service Mesh und wie funktioniert es?
Was ist ein Service Mesh und wie funktioniert es?Was ist ein Service Mesh und wie funktioniert es?
Was ist ein Service Mesh und wie funktioniert es?
 
Dev-QA-Ops UNICOM WCNGT 2014 Bangalore
Dev-QA-Ops UNICOM WCNGT 2014 BangaloreDev-QA-Ops UNICOM WCNGT 2014 Bangalore
Dev-QA-Ops UNICOM WCNGT 2014 Bangalore
 
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your doorLFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
LFX Nov 16, 2021 - Find vulnerabilities before security knocks on your door
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Painless DevSecOps: Building Security Into Your DevOps Pipeline
Painless DevSecOps: Building Security Into Your DevOps PipelinePainless DevSecOps: Building Security Into Your DevOps Pipeline
Painless DevSecOps: Building Security Into Your DevOps Pipeline
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookThe printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN Handbook
 
Deploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragilityDeploying more technology to shift from agility to anti-fragility
Deploying more technology to shift from agility to anti-fragility
 
Super Charge your Product Development via the Use of DevOps
Super Charge your Product Development via the Use of DevOpsSuper Charge your Product Development via the Use of DevOps
Super Charge your Product Development via the Use of DevOps
 
The Art of Container Monitoring
The Art of Container MonitoringThe Art of Container Monitoring
The Art of Container Monitoring
 

Destaque

Desconocimiento del aprendizaje por medio de la música, en la escuela primari...
Desconocimiento del aprendizaje por medio de la música, en la escuela primari...Desconocimiento del aprendizaje por medio de la música, en la escuela primari...
Desconocimiento del aprendizaje por medio de la música, en la escuela primari...
Sofia Castellanosc
 
History132ResearchPaper Final Draft
History132ResearchPaper Final DraftHistory132ResearchPaper Final Draft
History132ResearchPaper Final Draft
Eduardo Garcia
 
OCCUPATIONAL SAFETY & HEALTH MANAGER
OCCUPATIONAL SAFETY & HEALTH MANAGEROCCUPATIONAL SAFETY & HEALTH MANAGER
OCCUPATIONAL SAFETY & HEALTH MANAGER
Nzouanda Benjamin
 
Trắc nghiệm và câu hỏi luật hành chính
Trắc nghiệm và câu hỏi luật hành chínhTrắc nghiệm và câu hỏi luật hành chính
Trắc nghiệm và câu hỏi luật hành chính
Bee Bee
 

Destaque (12)

Pabellon de exposición
Pabellon de exposiciónPabellon de exposición
Pabellon de exposición
 
акссесуары 4
акссесуары 4акссесуары 4
акссесуары 4
 
Portfolie GHM
Portfolie GHMPortfolie GHM
Portfolie GHM
 
Desconocimiento del aprendizaje por medio de la música, en la escuela primari...
Desconocimiento del aprendizaje por medio de la música, en la escuela primari...Desconocimiento del aprendizaje por medio de la música, en la escuela primari...
Desconocimiento del aprendizaje por medio de la música, en la escuela primari...
 
Зачем пользователю ПП 1С сервис «1С:Облачный архив»?
Зачем пользователю ПП 1С сервис «1С:Облачный архив»?Зачем пользователю ПП 1С сервис «1С:Облачный архив»?
Зачем пользователю ПП 1С сервис «1С:Облачный архив»?
 
History132ResearchPaper Final Draft
History132ResearchPaper Final DraftHistory132ResearchPaper Final Draft
History132ResearchPaper Final Draft
 
OCCUPATIONAL SAFETY & HEALTH MANAGER
OCCUPATIONAL SAFETY & HEALTH MANAGEROCCUPATIONAL SAFETY & HEALTH MANAGER
OCCUPATIONAL SAFETY & HEALTH MANAGER
 
Animales en peligro de extinción
Animales en peligro de extinciónAnimales en peligro de extinción
Animales en peligro de extinción
 
10 KINH NGHIỆM SÁNG TẠO NỘI DUNG HIỆU QUẢ CHO FACEBOOK FANPAGE
10 KINH NGHIỆM SÁNG TẠO NỘI DUNG HIỆU QUẢ CHO FACEBOOK FANPAGE 10 KINH NGHIỆM SÁNG TẠO NỘI DUNG HIỆU QUẢ CHO FACEBOOK FANPAGE
10 KINH NGHIỆM SÁNG TẠO NỘI DUNG HIỆU QUẢ CHO FACEBOOK FANPAGE
 
Colectores solares aguacaliente
Colectores solares aguacalienteColectores solares aguacaliente
Colectores solares aguacaliente
 
Trắc nghiệm và câu hỏi luật hành chính
Trắc nghiệm và câu hỏi luật hành chínhTrắc nghiệm và câu hỏi luật hành chính
Trắc nghiệm và câu hỏi luật hành chính
 
Rosa Romero - Industrialización en la construcción de viviendas
Rosa Romero - Industrialización en la construcción de viviendasRosa Romero - Industrialización en la construcción de viviendas
Rosa Romero - Industrialización en la construcción de viviendas
 

Semelhante a Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & Better

Semelhante a Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & Better (20)

Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Drive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsDrive business outcomes using Azure Devops
Drive business outcomes using Azure Devops
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
DevOps e a transformação digital de aplicações
DevOps e a transformação digital de aplicaçõesDevOps e a transformação digital de aplicações
DevOps e a transformação digital de aplicações
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Vijay_Teekinavar_Kallesh
Vijay_Teekinavar_KalleshVijay_Teekinavar_Kallesh
Vijay_Teekinavar_Kallesh
 
Devops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersDevops CI-CD pipeline with Containers
Devops CI-CD pipeline with Containers
 

Mais de 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

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
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 

Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & Better

  • 1. Continuous Delivery with Perforce Helix Sven Erik Knop Senior Technical Specialist
  • 2. 2 Agenda  Overview of Continuous Delivery  Best practices for success  Common Tools and Technologies  Demo
  • 3. 3 Can’t we just do what we currently do only faster?  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
  • 4. 4 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 4 P I P E L I N E Reqs Dev Test Integrate Deploy
  • 5. 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
  • 6. 6 Perforce enables Continuous Delivery Developer Collaboration Swarm Design Collaboration Commons Development Analytics Insights Perforce Version Management 100s of Terabytes Globally Distributed DVCS Any File Type DEV DEV HQ MFG End-to-end Collaboration Unified Asset Versioning P I P E L I N E Reqs Dev Test Integrate Deploy
  • 7. 7 Common Terminology and Tools Term Description Related tools Artifact Any type of file associated with a product. Could be code, artwork, design documents, binary build output plus many others. Version control Trunk based development Artifacts always checked into trunk. Software can be released from branches or directly from trunk. Version control Continuous Integration The practice of building and testing code each time code is checked in and integrated. Necessary for Continuous Delivery. Jenkins, TeamCity, Bamboo, Electric Commander, Circle CI, Travis CI Infrastructure as code Environment and server configuration is defined as code, commonly in a tool specific DSL. Configurations are applied to servers to build environments. Puppet, Chef, Ansible, Salt, CFEngine Deployment Automation Tools that enable applications to be modeled along with environments for deployment. The models are then used to deploy applications. Can be used in conjunction with infrastructure as code. IBM UrbanCode Deploy, Nolio, Electric Flow, Puppet, Chef, Ansible, Salt, CFEngine 7
  • 8. 8 Tools Usage in Continuous Delivery Dev QA Pre Production Production Auto Auto Manual Version Control Version Control Version Control Version Control Continuous Integration Infrastructure as code Infrastructure as code Infrastructure as code Deployment Automation Deployment Automation Deployment Automation Test Automation Test Automation Test Automation
  • 10. 10 Demo environment  VM stores • Helix P4D for code and artifacts • Helix Swarm for review • Jenkins for pipeline  Docker image for Jpetstore is deployed to QA and Production environments
  • 11. 11 Demo scenario Edit the slider to include two more photos and deliver to production using the Continuous Delivery pipeline
  • 12. 12 Our pipeline • 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
  • 13. 13 Versioning pipeline artifacts 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
  • 14. 14 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
  • 15. 15 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
  • 16. 16 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
  • 17. 17 Three Key Habits for successful Continuous Delivery  Collaboration  Visibility  Version Everything

Notas do Editor

  1. I’ll go over the basics of continuous delivery , cover best practices and some common tools and technologies before showing you how to use some of these tools with the perforce platform in a demo.
  2. Agile software development solved some problems but caused others. Many smaller but more frequent releases were created but other areas of business were unable to keep up with the releases. Operations staff struggled in particular due to needing having opposing goals to development. Development tasked with creating change, operations tasked with stability. Lack of trust, tooling and repeatability make it impossible to continue down this path.
  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 and 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. The perforce platform not only keeps your intellectual property secure but also enables end-to-end collaboration and visibility without having to follow a predefined workflow to achieve it. This is a solid foundation for building your continuous delivery solution.
  6. When researching about continuous delivery you will hear some common terms, here are some of the terms and the tools they are related to. You’ll hear several of these terms mentioned during the demo today.
  7. In a continuous delivery pipeline there is a lot of common tooling between stages. For example, deployments should be done consistently across all environments so the same tools and scripts should be used in all environments. A key trait of successful continuous delivery initiatives is the use of version control by operations teams. If it isn’t in version control then it shouldn’t be in production. By following best practices, versioning everything and using common tools and technologies you will be able to create a robust, repeatable process without sacrificing security of control. Everyone wins.
  8. I’m now going to give you an overview of what we will show in the demo.
  9. 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.
  10. 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.
  11. 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.
  12. All artifacts used during the process of creating, building and deploying the JPetStore application are stored in version control.
  13. 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!
  14. 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.
  15. 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