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

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 withSlow 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 TOPRODUCTION WITH CONTINUOUS DEPLOYMENT
  • 5.
    24X Increase inRelease 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 Philosophyis 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: ChangeManagement • 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 ControlTool 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 ReleaseManagement 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 ManagementStreamlined 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 WEGET THERE FROM HERE?
  • 22.
    Level Build ProcessEnvironments 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 ProcessEnvironments 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 ManualProcess • 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 ManualProcess • 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 isGreater when Migrating Changes between Very Different Orgs Metadata A Change A Initial State of System Change B Metadata B
  • 27.
    The Challenge isGreater when Migrating Changes between Very Different Orgs Metadata A Change A Initial State of System Change B Metadata B
  • 28.
    The Challenge isGreater 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 ManualProcess • 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)
  • 32.