Upload
matthias-rolke
View
201
Download
3
Embed Size (px)
Citation preview
AN OPINIONATED DEVELOPMENTLIFECYCLE FOR FORCE.COM
DEVELOPMENTSalesforce Developer Group Munich
Matthias Rolke, August 17th 2016
AGENDAChallenges / ApproachDemoOutlookQuestions
ABOUT ME
Matthias Rolke
Developer @ PARX in Munich4+ years Force.com experienceOpen Source Enthusiast
13 years of Salesforce experience
Offices: Zurich, Lausanne, Hamburg,Munich, Berlin
http://parx.com
CHALLENGES / APPROACH1. Metadata2. Build process3. CI / CD4. Deployment5. Development environments
(1/5) METADATA= our asset of development= declarative + programmatic
(1/5) METADATA
➡ Best effort to capture all metadata!
➡ Use a Version Control System!
➡ Document manual, non-metadatachanges
(2/5) THE (MISSING) BUILD PROCESSMetadata can be broken
missing dependenciesdeleted fieldsmissing picklist values...
(2/5) BUILD PROCESS
➡ validate a deployment
with all metadata
to an empty org
(3/5) CI / CDContinuous IntegrationContinuous DeliveryContinuous Deployment
(3/5) CI / CD
➡ Continuous Integration using a buildprocess without actual deployment
➡ ⚡Postpone ContinuousDelivery/Deployment because of missing
tooling for all possible changes
(4/5) DEPLOYMENTIncremental by designChangesets?!Ant Migration Tool?!...?!
(4/5) ANOTHER DEPLOYMENT TOOL?!
➡ Making use of built-in features
of a Version Control System
for incremental deployments
(5/5) DEVELOPMENT ENVIRONMENTSPersonal sandboxes vs. shared sandboxEfforts for merging/integrating
(5/5) DEVELOPMENT ENVIRONMENTS
➡ Personal sandboxes
DEMOhttps://github.com/amtrack/universal-containers
OUTLOOKforce-dev-tool can do moreScheduled Metadata BackupsComparing orgs using VCSDeployment link
QUESTIONS?
LINKS
https://github.com/amtrack/force-dev-toolhttps://github.com/amtrack/universal-containershttps://developer.salesforce.com/docs/atlas.en-us.dev_lifecycle.meta/[email protected]
CONCEPT / APPROACHProblem Solution
complete state regard all metadata
tracking changes Version Control
build process dedicated and empty ci org
deployment VCS-supported deployment tool
org management personal sandboxes
PREREQUISITESInfrastructure
personal sandboxesdedicated CI org
Project (maintenance efforts)CI org: remove custom metadata, maintain users,profiles, installed packages
Metadatano unit tests with SeeAllData=trueno deprecated metadata (SControl)