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 ☁
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 
Performing a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in SalesforcePerforming a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in SalesforceCoforge (Erstwhile WHISHWORKS)
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce orgRoy Gilad
 
Discover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automationsDiscover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automationsJackGuo20
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoSalesforce Developers
 
Release & Change management in salesforce
Release & Change management in salesforceRelease & Change management in salesforce
Release & Change management in salesforceKalyan Lanka ☁
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 
COPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceCOPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceThierry TROUIN ☁
 
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15Paris Salesforce Developer Group
 
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
 
Single Sign-On and User Provisioning with Salesforce Identity
Single Sign-On and User Provisioning with Salesforce IdentitySingle Sign-On and User Provisioning with Salesforce Identity
Single Sign-On and User Provisioning with Salesforce IdentitySalesforce Developers
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental ManagementSalesforce Partners
 
DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup AmeyKulkarni84
 
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
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSai Jithesh ☁️
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSujesh Ramachandran
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan OsgoodSalesforce Admins
 

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
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Performing a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in SalesforcePerforming a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in Salesforce
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce org
 
Discover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automationsDiscover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automations
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We Do
 
Release & Change management in salesforce
Release & Change management in salesforceRelease & Change management in salesforce
Release & Change management in salesforce
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
COPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceCOPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour Salesforce
 
Org Merge Best Practices
Org Merge Best PracticesOrg Merge Best Practices
Org Merge Best Practices
 
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
Introducing salesforce shield - Paris Salesforce Developer Group - Oct 15
 
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
 
Single Sign-On and User Provisioning with Salesforce Identity
Single Sign-On and User Provisioning with Salesforce IdentitySingle Sign-On and User Provisioning with Salesforce Identity
Single Sign-On and User Provisioning with Salesforce Identity
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup DevOps Center_ArchitectGroup
DevOps Center_ArchitectGroup
 
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
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & Agile
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/Students
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 

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

SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning DemoSamar Saha
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceAIMDek Technologies
 
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
 

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

SFDC Lightning Demo
SFDC Lightning DemoSFDC Lightning Demo
SFDC Lightning Demo
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on Salesforce
 
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
 

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

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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