SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Salesforce Release Management
Best Practices and Tools for Deployment Efficiency
Matthew Roark, EMC2 Isilon Storage Division, Principal Application Developer
@lordwyrmsbane
Deb Weller, EMC2 Isilon Storage Division, IT Development Manager
@debdub
2

Salesforce @ EMC Isilon
Deb Weller
IT Development Manager
@debdub
2

All about EMC Isilon Storage Division
A Division of EMC2; Isilon Systems was acquired in 2010
• Founded in 2001
• World leader in scale-out NAS
• Salesforce.com customer since 2002
•
Salesforce.com history at EMC2 Isilon
▪ Salesforce was implemented in 2002
• System was owned and managed by the Sales team
• Usage grew across other teams (Marketing, Customer Support, Partners)
• Custom code implemented piecemeal by a variety of consultants

▪ IT inherited the “organically grown” instance in 2006
• Most users were systems admins
• Competing groups in the company had conflicting needs and interests
• No formal change or release management in place
First steps…
▪ Limit the number of system administrators
▪ Start tracking your changes in a systematic way
▪ Get your stakeholders to help prioritize projects
▪ No staff? Harness the power of admins in other departments
▪ Leverage native Salesforce tools for release management
• Sandboxes
• Cloud Deploy / Change Sets
Beyond Release Management
Matthew Roark
Principal Application Developer
@lordwyrmsbane
Three critical best practices for SFDC
1. Use test-driven development

2. Use a source repository

3. Maintain a deployment pipeline
One Step Beyond…
Release engineering!
• Identifiable
•

Identify all of the source, environment, and other components in a particular release

• Reproducible
•

Integrate source, data, and deployment externals of a software system for better operational stability

• Accountable
•

Provide audit and accountability for software deployments

• Agile
•

Continuous integration! Iterative development! Distributed teams! Nirvana!
The biggest challenge

▪

*

▪ It’s difficult to merge changes across multiple SFDC environments
▪ We are a small team of developers
▪ Is there a way we can do this automatically?

* Image “borrowed” from http://soberbuildengineer.com/blog/2011/08/the-elevator-storyteller/
What we wanted in a tool
SFDC
Sandbox

SFDC
Sandbox

SFDC
Sandbox

Ch

ang
es

Changes

Changes

s
nge
ha

C

Commit

Github

SFDC
Production
Introducing SfOpticon
Matthew Roark
Principal Application Developer
SfOpticon
▪ Open source Ruby application released under the Apache license
▪ Developed by Ryan Parr and Josh Arenson

▪ SfOpticon
▪ Monitors your Salesforce environments and automatically synchronizes changes between environments
▪ Integrates with github and uses native SCM branching to track changes between environments
▪ Can rebase environments, merging changes using snapshot comparisons

▪ Did I mention it is open source?

https://github.com/ryanparr/sfopticon
Setup repository

Query metadata

SFDC
Production

Store metadata
describe

Local DB

Create
repository
Clone to local
Github
Create Branch

Query metadata
describe

SFDC
Sandbox

Store metadata
describe

Local DB

Create branch
Clone to local
Github
Scan for changes

Query metadata

SFDC
Environment

Query last
metadata describe
Local DB

Diff
changes

Replay changes
into branch

Github
Merge and deploy changes
Create integration
branch off of
source branch

Return list of changed
files

Build
Manifest

Deploy manifest

Detect
conflicts

Github

Merge
integration
branch into
target branch

SFDC target
environment

• Because SfOpticon is aware of previous state, it can detect destructive changes and renames!
• Can be used to ‘rebase’ objects from any SFDC environment to any other environment
Demo
• Requirements for installing SfOpticon
• Creating a new production environment
• Branching a config environment
• Demonstration of SfOpticon change detection
• Demonstration of merging and deploying changes with SfOpticon
SfOpticon: future enhancements
• Certify additional metadata types
• Currently only supports ApexPages, ApexTriggers, ApexClasses, ApexComponents

• Integration with additional source control adapters
• E.g. subversion, local git, others?

• Update SfOpticon to allow for Heroku deployment
• Web- based interface in addition to command line
To get there, we need your help!
▪ SfOpticon is available on github
▪ https://github.com/ryanparr/sfopticon
▪ Open source under the Apache license
▪ Please download, use, and contribute to the project!
▪ Help us make this the next ‘must have’ tool for the Salesforce.com platform!
Ryan Parr

Deb Weller

Matthew Roark

Sr. Application Developer

IT Development Manager
@debdub

Principal Application
Developer
@lordwyrmsbane

Josh Arenson
Salesforce Release Management - Best Practices and Tools for Deployment

Weitere ähnliche Inhalte

Was ist angesagt?

Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successYassine ELQANDILI ☁
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful DeploymentSalesforce Developers
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce orgRoy Gilad
 
Release & Change management in salesforce
Release & Change management in salesforceRelease & Change management in salesforce
Release & Change management in salesforceKalyan Lanka ☁
 
#Impact salesforcesaturday copado - session -1 by Hariprasath
#Impact salesforcesaturday   copado - session -1 by Hariprasath#Impact salesforcesaturday   copado - session -1 by Hariprasath
#Impact salesforcesaturday copado - session -1 by HariprasathHariprasath Thanarajah
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgSalesforce Developers
 
Best Practices for Rolling Out New Functionality
Best Practices for Rolling Out New FunctionalityBest Practices for Rolling Out New Functionality
Best Practices for Rolling Out New FunctionalitySalesforce Admins
 
COPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceCOPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceThierry TROUIN ☁
 
Tackling Salesforce Technical Debt
Tackling Salesforce Technical DebtTackling Salesforce Technical Debt
Tackling Salesforce Technical Debtpanayaofficial
 
Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerSalesforce Admins
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce IntegrationJoshua Hoskins
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleJoshua Hoskins
 
Salesforce Flawless Packaging And Deployment
Salesforce Flawless Packaging And DeploymentSalesforce Flawless Packaging And Deployment
Salesforce Flawless Packaging And DeploymentHarshala Shewale ☁
 
How to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with GearsetHow to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with GearsetThierry TROUIN ☁
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementMicrosoft Developer Norway
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Salesforce and SAP Integration with Informatica Cloud
Salesforce and SAP Integration with Informatica CloudSalesforce and SAP Integration with Informatica Cloud
Salesforce and SAP Integration with Informatica CloudDarren Cunningham
 
Using Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecurityUsing Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecuritySalesforce Admins
 
Copado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseCopado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseSoftClouds LLC
 

Was ist angesagt? (20)

Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful Deployment
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce org
 
Release & Change management in salesforce
Release & Change management in salesforceRelease & Change management in salesforce
Release & Change management in salesforce
 
#Impact salesforcesaturday copado - session -1 by Hariprasath
#Impact salesforcesaturday   copado - session -1 by Hariprasath#Impact salesforcesaturday   copado - session -1 by Hariprasath
#Impact salesforcesaturday copado - session -1 by Hariprasath
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 
Best Practices for Rolling Out New Functionality
Best Practices for Rolling Out New FunctionalityBest Practices for Rolling Out New Functionality
Best Practices for Rolling Out New Functionality
 
COPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceCOPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour Salesforce
 
Tackling Salesforce Technical Debt
Tackling Salesforce Technical DebtTackling Salesforce Technical Debt
Tackling Salesforce Technical Debt
 
Webinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce OptimizerWebinar: Take Control of Your Org with Salesforce Optimizer
Webinar: Take Control of Your Org with Salesforce Optimizer
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development Lifecycle
 
Salesforce Flawless Packaging And Deployment
Salesforce Flawless Packaging And DeploymentSalesforce Flawless Packaging And Deployment
Salesforce Flawless Packaging And Deployment
 
How to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with GearsetHow to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with Gearset
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release management
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Salesforce and SAP Integration with Informatica Cloud
Salesforce and SAP Integration with Informatica CloudSalesforce and SAP Integration with Informatica Cloud
Salesforce and SAP Integration with Informatica Cloud
 
Using Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecurityUsing Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and Security
 
Copado - SoftClouds | Expertise
Copado - SoftClouds | ExpertiseCopado - SoftClouds | Expertise
Copado - SoftClouds | Expertise
 
Commerce Cloud 101
Commerce Cloud 101Commerce Cloud 101
Commerce Cloud 101
 

Ähnlich wie Salesforce Release Management - Best Practices and Tools for Deployment

SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning DemoSamar Saha
 
Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!
Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!
Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!ifPeople
 
Introducing Deployit 3.8
Introducing Deployit 3.8 Introducing Deployit 3.8
Introducing Deployit 3.8 XebiaLabs
 
Salesforce Apex Hours: What means Winter 18 for Developers
Salesforce Apex Hours: What means Winter 18 for Developers Salesforce Apex Hours: What means Winter 18 for Developers
Salesforce Apex Hours: What means Winter 18 for Developers Amit Chaudhary
 
Biotechne + Searchstax webinar presentation
Biotechne + Searchstax webinar presentationBiotechne + Searchstax webinar presentation
Biotechne + Searchstax webinar presentationBen Bradley
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Salesforce automationhour meighanbrodkeyflowcomponents
Salesforce automationhour meighanbrodkeyflowcomponentsSalesforce automationhour meighanbrodkeyflowcomponents
Salesforce automationhour meighanbrodkeyflowcomponentsMeighan Brodkey
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixPeter Nazarov
 
VMworld 2013: Examining vSphere Design Through a Design Scenario
VMworld 2013: Examining vSphere Design Through a Design Scenario VMworld 2013: Examining vSphere Design Through a Design Scenario
VMworld 2013: Examining vSphere Design Through a Design Scenario VMworld
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013
We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013
We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013We4IT Group
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...hamidsamadi
 
Setting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsDaniel Stange
 
Salesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On CallSalesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On CallDoug Ayers
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation IBM UrbanCode Products
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesChristian Buckley
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for ChangeEric Wyles
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection NavigationThomas Daly
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsJohn Head
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsmichaelaaron25322
 

Ähnlich wie Salesforce Release Management - Best Practices and Tools for Deployment (20)

SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning Demo
 
Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!
Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!
Open Source CMS + Salesforce Integration Showdown: Plone vs Drupal vs Joomla!
 
Introducing Deployit 3.8
Introducing Deployit 3.8 Introducing Deployit 3.8
Introducing Deployit 3.8
 
Salesforce Apex Hours: What means Winter 18 for Developers
Salesforce Apex Hours: What means Winter 18 for Developers Salesforce Apex Hours: What means Winter 18 for Developers
Salesforce Apex Hours: What means Winter 18 for Developers
 
Biotechne + Searchstax webinar presentation
Biotechne + Searchstax webinar presentationBiotechne + Searchstax webinar presentation
Biotechne + Searchstax webinar presentation
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Salesforce automationhour meighanbrodkeyflowcomponents
Salesforce automationhour meighanbrodkeyflowcomponentsSalesforce automationhour meighanbrodkeyflowcomponents
Salesforce automationhour meighanbrodkeyflowcomponents
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helix
 
VMworld 2013: Examining vSphere Design Through a Design Scenario
VMworld 2013: Examining vSphere Design Through a Design Scenario VMworld 2013: Examining vSphere Design Through a Design Scenario
VMworld 2013: Examining vSphere Design Through a Design Scenario
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013
We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013
We4IT Mobile Solutions doclinkr and Aveedo - BLUG/Engage Mobile Conference 2013
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
 
Setting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce Apps
 
Salesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On CallSalesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On Call
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-Premises
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile Controls
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
 

Mehr von Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mehr von Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

Kürzlich hochgeladen

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
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...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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 WoodJuan lago vázquez
 
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 FresherRemote DBA Services
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
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.pdfOrbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
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 connectorsNanddeep Nachan
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Salesforce Release Management - Best Practices and Tools for Deployment

  • 1. Salesforce Release Management Best Practices and Tools for Deployment Efficiency Matthew Roark, EMC2 Isilon Storage Division, Principal Application Developer @lordwyrmsbane Deb Weller, EMC2 Isilon Storage Division, IT Development Manager @debdub
  • 2. 2 Salesforce @ EMC Isilon Deb Weller IT Development Manager @debdub
  • 3. 2 All about EMC Isilon Storage Division A Division of EMC2; Isilon Systems was acquired in 2010 • Founded in 2001 • World leader in scale-out NAS • Salesforce.com customer since 2002 •
  • 4. Salesforce.com history at EMC2 Isilon ▪ Salesforce was implemented in 2002 • System was owned and managed by the Sales team • Usage grew across other teams (Marketing, Customer Support, Partners) • Custom code implemented piecemeal by a variety of consultants ▪ IT inherited the “organically grown” instance in 2006 • Most users were systems admins • Competing groups in the company had conflicting needs and interests • No formal change or release management in place
  • 5. First steps… ▪ Limit the number of system administrators ▪ Start tracking your changes in a systematic way ▪ Get your stakeholders to help prioritize projects ▪ No staff? Harness the power of admins in other departments ▪ Leverage native Salesforce tools for release management • Sandboxes • Cloud Deploy / Change Sets
  • 6. Beyond Release Management Matthew Roark Principal Application Developer @lordwyrmsbane
  • 7. Three critical best practices for SFDC 1. Use test-driven development 2. Use a source repository 3. Maintain a deployment pipeline
  • 8. One Step Beyond… Release engineering! • Identifiable • Identify all of the source, environment, and other components in a particular release • Reproducible • Integrate source, data, and deployment externals of a software system for better operational stability • Accountable • Provide audit and accountability for software deployments • Agile • Continuous integration! Iterative development! Distributed teams! Nirvana!
  • 9. The biggest challenge ▪ * ▪ It’s difficult to merge changes across multiple SFDC environments ▪ We are a small team of developers ▪ Is there a way we can do this automatically? * Image “borrowed” from http://soberbuildengineer.com/blog/2011/08/the-elevator-storyteller/
  • 10. What we wanted in a tool SFDC Sandbox SFDC Sandbox SFDC Sandbox Ch ang es Changes Changes s nge ha C Commit Github SFDC Production
  • 12. SfOpticon ▪ Open source Ruby application released under the Apache license ▪ Developed by Ryan Parr and Josh Arenson ▪ SfOpticon ▪ Monitors your Salesforce environments and automatically synchronizes changes between environments ▪ Integrates with github and uses native SCM branching to track changes between environments ▪ Can rebase environments, merging changes using snapshot comparisons ▪ Did I mention it is open source? https://github.com/ryanparr/sfopticon
  • 13. Setup repository Query metadata SFDC Production Store metadata describe Local DB Create repository Clone to local Github
  • 14. Create Branch Query metadata describe SFDC Sandbox Store metadata describe Local DB Create branch Clone to local Github
  • 15. Scan for changes Query metadata SFDC Environment Query last metadata describe Local DB Diff changes Replay changes into branch Github
  • 16. Merge and deploy changes Create integration branch off of source branch Return list of changed files Build Manifest Deploy manifest Detect conflicts Github Merge integration branch into target branch SFDC target environment • Because SfOpticon is aware of previous state, it can detect destructive changes and renames! • Can be used to ‘rebase’ objects from any SFDC environment to any other environment
  • 17. Demo • Requirements for installing SfOpticon • Creating a new production environment • Branching a config environment • Demonstration of SfOpticon change detection • Demonstration of merging and deploying changes with SfOpticon
  • 18. SfOpticon: future enhancements • Certify additional metadata types • Currently only supports ApexPages, ApexTriggers, ApexClasses, ApexComponents • Integration with additional source control adapters • E.g. subversion, local git, others? • Update SfOpticon to allow for Heroku deployment • Web- based interface in addition to command line
  • 19. To get there, we need your help! ▪ SfOpticon is available on github ▪ https://github.com/ryanparr/sfopticon ▪ Open source under the Apache license ▪ Please download, use, and contribute to the project! ▪ Help us make this the next ‘must have’ tool for the Salesforce.com platform!
  • 20. Ryan Parr Deb Weller Matthew Roark Sr. Application Developer IT Development Manager @debdub Principal Application Developer @lordwyrmsbane Josh Arenson