SlideShare a Scribd company logo
CONTINUOUS INTEGRATION ON 
THE SALESFORCE1 PLATFORM 
Kevin Gee 
Director of Product Management 
TechSophy, Inc.
The Problem 
• Too many administrators 
• Lack of coordination 
• Changes made directly in production 
• Mostly manual steps for deployment 
• Manual testing with limited test coverage 
• Multiple production orgs with no common 
code 
…SLOW RELEASE VELOCITY 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Manual Process with Slow Release Velocity 
Manual Release Process 
Quarterly release 
17 member deployment team 
11 day deployment time 
40 page deployment process 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
DEMO: SANDBOX TO PRODUCTION 
WITH CONTINUOUS DEPLOYMENT
24X Increase in Release Velocity 
Manual Release Process Continuous Deployment 
Quarterly release 2X weekly 
17 member deployment team 3 member deployment team 
11 day deployment time 1 day deployment time 
40 page deployment process 4 page deployment process 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Manual Build Process 
Longer 
Manual Test 
Cycle 
Longer 
Manual 
Deployment 
Process 
More 
Changes in 
Build 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Accelerated Build Process 
Longer 
Manual Test 
Cycle 
Automate 
Testing 
Longer 
Manual 
Deployment 
Process 
Fewer Changes 
per Build 
More 
Changes in 
Build 
Automate 
Deployment 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Continuous Deployment 
Philosophy is automate and coordinate as much as possible 
Version 
Control 
Build Test Track Deploy 
Changes can go from Dev to 
Plan 
Production using automated pipeline 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Continuous Deployment 
Version 
Control 
Build Test Track Deploy 
Changes can go from Dev to 
Plan 
Production using automated pipeline 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
First Step: Change Management 
• Change Management Team 
– Functional Leaders 
– Business Analysts 
– Technical Architects 
– Power Users 
• Release Management Strategy 
– What is allowed in each branch 
– Who is allowed to make changes where 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Release Management Strategy 
Production 
Test 
Feature 
A 
Feature 
B 
Feature 
C 
Dev Dev Dev Dev Dev Dev Dev Dev 
Feature Team 
A 
Feature Team 
B 
Feature Team 
C 
Branching 
Strategy 
Tests 
Tests 
Tests
Release Management Strategy 
Production 
Test 
Feature 
A 
Feature 
B 
Feature 
C 
Dev Dev Dev Dev Dev Dev Dev Dev 
Feature Team 
A 
Feature Team 
B 
Feature Team 
C 
Branching 
Strategy 
Tests 
Tests 
Tests
Version Control Demo 
Version 
Control 
Build Test Track Deploy 
Plan 
• Changes can be rolled back 
• Changes are grouped by branch to 
minimize conflicts 
• Treat metadata as code 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Use Version Control Tool to 
Implement Branching Strategy 
Production 
Trunk 
(Test Org) 
Feature A 
Feature B
Automated Build Demo 
Version 
Control 
Build Test Track Deploy 
Build on commit 
Scheduled builds 
Manual builds 
Plan 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Automated Builds 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Automated Testing Demo 
Version 
Control 
Build Test Track Deploy 
Plan 
Changes get promoted when they 
pass automated tests 
• Unit test 
• Functional Test 
• User Acceptance Test 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Reporting 
Version 
Control 
Build Test Track Deploy 
Reporting and Dashboard for 
Team and Key Decision makers 
Plan 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Dashboard 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Automated Deployment Demo 
Version 
Control 
Build Test Track Deploy 
Plan 
Deploy vertically from Sandbox to Production 
Deploy horizontally from Sandbox to Sandbox 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
HOW DO WE GET THERE 
FROM HERE?
Level Build Process Environments and 
Deployment 
Testing Reporting 
Level 4 • All build issues 
addressed through 
automation 
• Continuous deployment 
to production 
• Feature sandboxes 
• Automated provisioning 
• 100% code coverage 
• All testing automated 
• Code tested against large 
number of potential 
configurations 
• Real-time 
visibility 
Level 3 • Triggered builds 
• Code, meta-data, 
documentation, 
requirements subject 
to version control 
• Separate Dev, Test, and 
Prod environments 
• Single button 
deployment 
• Very high test coverage 
• Test interaction between 
code, meta-data, and data 
• Users create automated 
test scripts 
• Report trend 
analysis 
Level 2 • Build on commit 
• Dependencies 
managed 
• Standardized 
deployment process 
• Full Sandbox 
• Selective Promote, 
Change sets 
• Some automated 
deployment 
• Automated daily 
functional tests 
• On-demand 
reporting 
Level 1 • Source control utilized 
• Automated build 
process 
• Documented 
deployment process 
• Defined branching 
strategy 
• Large amounts of testing 
done at build 
• Reports visible to 
entire team 
Level 0 • Manual or semi-manual 
build process 
• Changes made directly 
to Production 
• Manual or no testing • Status visible only 
to individual 
developer
Level Build Process Environments and 
Deployment 
Testing Reporting 
Level 4 • All build issues 
addressed through 
automation 
• Continuous deployment 
to production 
• Feature sandboxes 
• Automated provisioning 
• 100% code coverage 
• All testing automated 
• Code tested against large 
number of potential 
configurations 
• Real-time 
visibility 
Level 3 • Triggered builds 
• Code, meta-data, 
documentation, 
requirements subject 
to version control 
• Separate Dev, Test, and 
Prod environments 
• Single button 
deployment 
• Very high test coverage 
• Test interaction between 
code, meta-data, and data 
• Users create automated 
test scripts 
• Report trend 
analysis 
Level 2 • Build on commit 
• Dependencies 
managed 
• Standardized 
deployment process 
• Full Sandbox 
• Selective Promote, 
Change sets 
• Some automated 
deployment 
• Automated daily 
functional tests 
• On-demand 
reporting 
Level 1 • Source control utilized 
• Automated build 
process 
• Documented 
deployment process 
• Defined branching 
strategy 
• Large amounts of testing 
done at build 
• Reports visible to 
entire team 
Level 0 • Manual or semi-manual 
build process 
• Changes made directly 
to Production 
• Manual or no testing • Status visible only 
to individual 
developer
Single Org Manual Process 
• Single Production Org 
• Multiple Admins 
• Manual Build Process 
• Change Management 
• Version Control, 
Central Repository 
• Automate Testing 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Multiple Org Manual Process 
• Multiple Production 
Orgs 
• Multiple Admins 
• Manual Build Process 
• Desire to Consolidate 
• Change Management 
• Version Control, 
Central Repository 
• Automate Testing 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
The Challenge is Greater when Migrating 
Changes between Very Different Orgs 
Metadata A Change A 
Initial State 
of System 
Change B Metadata B
The Challenge is Greater when Migrating 
Changes between Very Different Orgs 
Metadata A Change A 
Initial State 
of System 
Change B Metadata B
The Challenge is Greater when Migrating 
Changes between Very Different Orgs 
Metadata A Change A 
Initial State 
of System 
Change B Metadata B 
THERE ARE KNOWN 
SOLUTIONS TO THIS 
PROBLEM
Multiple Org Manual Process 
• Multiple Production 
Orgs 
• Multiple Admins 
• Manual Build Process 
• Desire to Consolidate 
• Change Management 
• Version Control, Central 
Repository 
• Automate Testing 
• Designate One Org as 
Trunk 
• Gradually add other 
Features to Trunk 
• Migrate Users and Data 
when Trunk meets 
Requirements 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Release Management Strategy: 
Gradually Migrate Features from 
Trunk 
Test 
Feature 
A 
Feature 
B 
Feature 
C 
Dev Dev Dev Dev Dev Dev Dev Dev 
Feature Team 
A 
Feature Team 
B 
Feature Team 
C 
Branching 
Strategy 
Tests 
Tests 
Tests 
Other Orgs into Trunk 
Org C
Continuous Deployment 
Version 
Control 
Plan Build Test Track Deploy 
24X Improvement in Release Velocity vs Manual Deployment 
Manual Release Process Continuous Deployment 
Quarterly release 2X weekly 
17 member deployment team 3 member deployment team 
11 day deployment time 1 day deployment time 
40 page deployment process 4 page deployment process 
Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
Q&A 
#Autorabit 
Kevin.g@techsophy.com

More Related Content

What's hot

How do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about PipelinesHow do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about Pipelines
Thoughtworks
 
How do you implement Continuous Delivery? Part 4: Automated Testing
How do you implement Continuous Delivery? Part 4: Automated TestingHow do you implement Continuous Delivery? Part 4: Automated Testing
How do you implement Continuous Delivery? Part 4: Automated Testing
Thoughtworks
 
Build & Release Engineering
Build & Release Engineering Build & Release Engineering
Build & Release Engineering
Pranesh Vittal
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
Mike McGarr
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
hugo lu
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
Dr Ganesh Iyer
 
Taking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and GitTaking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and Git
Alexander Vanwynsberghe
 
Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)
Salesforce Partners
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
Amazon Web Services
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
Knoldus Inc.
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
John Ferguson Smart Limited
 
Testing with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionTesting with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off Session
Moataz Nabil
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
Prabhu Ramasamy
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
Abhinav Gupta
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 
Selenium at Salesforce Scale
Selenium at Salesforce ScaleSelenium at Salesforce Scale
Selenium at Salesforce Scale
Salesforce Engineering
 
Building an Automated Database Deployment Pipeline
Building an Automated Database Deployment PipelineBuilding an Automated Database Deployment Pipeline
Building an Automated Database Deployment Pipeline
Grant Fritchey
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment PatternsHow do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
Thoughtworks
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
Michael Medin
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
Troublemaker Khunpech
 

What's hot (20)

How do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about PipelinesHow do you implement Continuous Delivery? Part 3: All about Pipelines
How do you implement Continuous Delivery? Part 3: All about Pipelines
 
How do you implement Continuous Delivery? Part 4: Automated Testing
How do you implement Continuous Delivery? Part 4: Automated TestingHow do you implement Continuous Delivery? Part 4: Automated Testing
How do you implement Continuous Delivery? Part 4: Automated Testing
 
Build & Release Engineering
Build & Release Engineering Build & Release Engineering
Build & Release Engineering
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Taking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and GitTaking your version control to a next level with TFS and Git
Taking your version control to a next level with TFS and Git
 
Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)Reusable Build Scripts for Managed Package Development (October 14, 2014)
Reusable Build Scripts for Managed Package Development (October 14, 2014)
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
 
Testing with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off SessionTesting with Microsoft Technologies - Kick Off Session
Testing with Microsoft Technologies - Kick Off Session
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Selenium at Salesforce Scale
Selenium at Salesforce ScaleSelenium at Salesforce Scale
Selenium at Salesforce Scale
 
Building an Automated Database Deployment Pipeline
Building an Automated Database Deployment PipelineBuilding an Automated Database Deployment Pipeline
Building an Automated Database Deployment Pipeline
 
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment PatternsHow do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
 

Similar to Continuous Integration for Salesforce1 Platform

Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
Vishnu Raju Datla
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori Donner
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
Melissa Benua
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applications
Ma Xuebin
 
Devops and git basics
Devops and git basicsDevops and git basics
Devops and git basics
Sourabh Saxena
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinement
Christian Vos
 
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
DevOps.com
 
Releasing To Production Every Week India
Releasing To Production Every Week   IndiaReleasing To Production Every Week   India
Releasing To Production Every Week India
exortech
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
Davide Benvegnù
 
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Atlassian
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
Deepti Jain
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
Worksoft
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle Management
Thomas Eldblom
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro - Database DevOps
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
Parasoft
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
Venkat Janardhanam, MS, MBA
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdf
Debasish Das
 

Similar to Continuous Integration for Salesforce1 Platform (20)

Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
Deploying and releasing applications
Deploying and releasing applicationsDeploying and releasing applications
Deploying and releasing applications
 
Devops and git basics
Devops and git basicsDevops and git basics
Devops and git basics
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinement
 
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
 
Releasing To Production Every Week India
Releasing To Production Every Week   IndiaReleasing To Production Every Week   India
Releasing To Production Every Week India
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
Build it, Test it, Ship it: Continuous Delivery at Turner Broadcasting System...
 
DevOps with Microsoft Stack
DevOps with Microsoft StackDevOps with Microsoft Stack
DevOps with Microsoft Stack
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle Management
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
 
DevOps Simplex Services .pdf
DevOps Simplex Services .pdfDevOps Simplex Services .pdf
DevOps Simplex Services .pdf
 

Recently uploaded

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Recently uploaded (20)

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

Continuous Integration for Salesforce1 Platform

  • 1. CONTINUOUS INTEGRATION ON THE SALESFORCE1 PLATFORM Kevin Gee Director of Product Management TechSophy, Inc.
  • 2. The Problem • Too many administrators • Lack of coordination • Changes made directly in production • Mostly manual steps for deployment • Manual testing with limited test coverage • Multiple production orgs with no common code …SLOW RELEASE VELOCITY Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 3. Manual Process with Slow Release Velocity Manual Release Process Quarterly release 17 member deployment team 11 day deployment time 40 page deployment process Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 4. DEMO: SANDBOX TO PRODUCTION WITH CONTINUOUS DEPLOYMENT
  • 5. 24X Increase in Release Velocity Manual Release Process Continuous Deployment Quarterly release 2X weekly 17 member deployment team 3 member deployment team 11 day deployment time 1 day deployment time 40 page deployment process 4 page deployment process Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 6. Manual Build Process Longer Manual Test Cycle Longer Manual Deployment Process More Changes in Build Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 7. Accelerated Build Process Longer Manual Test Cycle Automate Testing Longer Manual Deployment Process Fewer Changes per Build More Changes in Build Automate Deployment Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 8. Continuous Deployment Philosophy is automate and coordinate as much as possible Version Control Build Test Track Deploy Changes can go from Dev to Plan Production using automated pipeline Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 9. Continuous Deployment Version Control Build Test Track Deploy Changes can go from Dev to Plan Production using automated pipeline Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 10. First Step: Change Management • Change Management Team – Functional Leaders – Business Analysts – Technical Architects – Power Users • Release Management Strategy – What is allowed in each branch – Who is allowed to make changes where Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 11. Release Management Strategy Production Test Feature A Feature B Feature C Dev Dev Dev Dev Dev Dev Dev Dev Feature Team A Feature Team B Feature Team C Branching Strategy Tests Tests Tests
  • 12. Release Management Strategy Production Test Feature A Feature B Feature C Dev Dev Dev Dev Dev Dev Dev Dev Feature Team A Feature Team B Feature Team C Branching Strategy Tests Tests Tests
  • 13. Version Control Demo Version Control Build Test Track Deploy Plan • Changes can be rolled back • Changes are grouped by branch to minimize conflicts • Treat metadata as code Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 14. Use Version Control Tool to Implement Branching Strategy Production Trunk (Test Org) Feature A Feature B
  • 15. Automated Build Demo Version Control Build Test Track Deploy Build on commit Scheduled builds Manual builds Plan Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 16. Automated Builds Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 17. Automated Testing Demo Version Control Build Test Track Deploy Plan Changes get promoted when they pass automated tests • Unit test • Functional Test • User Acceptance Test Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 18. Reporting Version Control Build Test Track Deploy Reporting and Dashboard for Team and Key Decision makers Plan Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 19. Dashboard Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 20. Automated Deployment Demo Version Control Build Test Track Deploy Plan Deploy vertically from Sandbox to Production Deploy horizontally from Sandbox to Sandbox Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 21. HOW DO WE GET THERE FROM HERE?
  • 22. Level Build Process Environments and Deployment Testing Reporting Level 4 • All build issues addressed through automation • Continuous deployment to production • Feature sandboxes • Automated provisioning • 100% code coverage • All testing automated • Code tested against large number of potential configurations • Real-time visibility Level 3 • Triggered builds • Code, meta-data, documentation, requirements subject to version control • Separate Dev, Test, and Prod environments • Single button deployment • Very high test coverage • Test interaction between code, meta-data, and data • Users create automated test scripts • Report trend analysis Level 2 • Build on commit • Dependencies managed • Standardized deployment process • Full Sandbox • Selective Promote, Change sets • Some automated deployment • Automated daily functional tests • On-demand reporting Level 1 • Source control utilized • Automated build process • Documented deployment process • Defined branching strategy • Large amounts of testing done at build • Reports visible to entire team Level 0 • Manual or semi-manual build process • Changes made directly to Production • Manual or no testing • Status visible only to individual developer
  • 23. Level Build Process Environments and Deployment Testing Reporting Level 4 • All build issues addressed through automation • Continuous deployment to production • Feature sandboxes • Automated provisioning • 100% code coverage • All testing automated • Code tested against large number of potential configurations • Real-time visibility Level 3 • Triggered builds • Code, meta-data, documentation, requirements subject to version control • Separate Dev, Test, and Prod environments • Single button deployment • Very high test coverage • Test interaction between code, meta-data, and data • Users create automated test scripts • Report trend analysis Level 2 • Build on commit • Dependencies managed • Standardized deployment process • Full Sandbox • Selective Promote, Change sets • Some automated deployment • Automated daily functional tests • On-demand reporting Level 1 • Source control utilized • Automated build process • Documented deployment process • Defined branching strategy • Large amounts of testing done at build • Reports visible to entire team Level 0 • Manual or semi-manual build process • Changes made directly to Production • Manual or no testing • Status visible only to individual developer
  • 24. Single Org Manual Process • Single Production Org • Multiple Admins • Manual Build Process • Change Management • Version Control, Central Repository • Automate Testing Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 25. Multiple Org Manual Process • Multiple Production Orgs • Multiple Admins • Manual Build Process • Desire to Consolidate • Change Management • Version Control, Central Repository • Automate Testing Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 26. The Challenge is Greater when Migrating Changes between Very Different Orgs Metadata A Change A Initial State of System Change B Metadata B
  • 27. The Challenge is Greater when Migrating Changes between Very Different Orgs Metadata A Change A Initial State of System Change B Metadata B
  • 28. The Challenge is Greater when Migrating Changes between Very Different Orgs Metadata A Change A Initial State of System Change B Metadata B THERE ARE KNOWN SOLUTIONS TO THIS PROBLEM
  • 29. Multiple Org Manual Process • Multiple Production Orgs • Multiple Admins • Manual Build Process • Desire to Consolidate • Change Management • Version Control, Central Repository • Automate Testing • Designate One Org as Trunk • Gradually add other Features to Trunk • Migrate Users and Data when Trunk meets Requirements Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)
  • 30. Release Management Strategy: Gradually Migrate Features from Trunk Test Feature A Feature B Feature C Dev Dev Dev Dev Dev Dev Dev Dev Feature Team A Feature Team B Feature Team C Branching Strategy Tests Tests Tests Other Orgs into Trunk Org C
  • 31. Continuous Deployment Version Control Plan Build Test Track Deploy 24X Improvement in Release Velocity vs Manual Deployment Manual Release Process Continuous Deployment Quarterly release 2X weekly 17 member deployment team 3 member deployment team 11 day deployment time 1 day deployment time 40 page deployment process 4 page deployment process Release Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test)