master your metadata
Post on 08-Aug-2015
51 Views
Preview:
TRANSCRIPT
Brought to you by Atlassian’s Salesforce Development Team
Master your metadataBest practices for versioning, CI and
deployments
Tim PettersenDev Tools Dude
@kannonboy
Dan JohnsonSalesforce Superguy
@dapperdanj
Clobbered Changes
Photo: NASA
Deployment Failures
Rollbacks?
Clicks versus Code
AdministratorYour dev sandboxes
ProductionUATShared Dev Sandbox
Individual Dev
Sandboxes
ProductionUATShared Dev Sandbox
JIRA-456
JIRA-123
Linear workflow
feature/JIRA-123
stable master branch
isolated feature work
master
Branching workflow
per
Branch all the things
Branch featurebuglabel change
It starts in …
ProductionUATDeveloper Sandbox
• Developers work in isolation on their branch until the feature is code complete
• Quality is ensured by peer review and acceptance testing
• Changes are promoted in a controlled manner through UAT to Production
ProductionUATDeveloper Sandbox
• Bamboo is running tests on feature branches before they’re merged..
• …AND every stable master branch!
• Bamboo also performs the deployments for you, (and it only deploys a commit that’s already passed the tests)
Touch button deploy
ProductionUATDeveloper Sandbox
ProductionUATDeveloper Sandbox
Fork Synching
Back to …
Automatic Issue Transitions
feature branch
master
IN REVIEW RELEASEDIN PROGRESSOPEN
Branch created!Pull Request Created!Pull Request Merged!
Destructive Changes Plan
Developer Sandbox
Individual Developer Sandboxes
Shared Developer Sandbox UAT Production
<Package> … </Package>
destructiveChanges.xml
destroy/JIRA-123
+<?xml version="1.0" encoding="UTF-8"?> +<CustomApplication xmlns="http://soap.sforce.com/2006/04/data"> + <defaultLandingTab>et4ae5__ETarget</defaultLandingTab> + <label>ExactTarget</label> + <tab>et4ae5__ExactTargetPhoenix</tab> + <tab>et4ae5__SMSDefinition__c</tab> + <tab>et4ae5__SendDefinition__c</tab> + <tab>et4ae5__Send_Analytics</tab> +</CustomApplication>
$ git diff a9d5e28
Production
924b427 BIZPLAT-139622 Update scheduler to run hourly. 885b5a7 BIZPLAT-119245 Only select active pricebook entries. d1458bf BIZPLAT-137572 Remove FeedItem. 06f84f6 BIZPLAT-137572 Remove useralt layout. 8b85a56 BIZPLAT-134770 Add "Email Opt In” to Lead layouts. d7f4b3e BIZPLAT-135248 AccountDomain layout. a411da1 BIZPLAT-134770 User layout additions. a9d5e28 BIZPLAT-129169 Account Domain object tab 1bd3cb2 BIZPLAT-129169 Trigger handler fixes. 7499d43 BIZPLAT-129169 Country is no longer required.
$ git log --author=mwright --before=“last wednesday”
<Package> … </Package>
destructiveChanges.xml
for when
(╯°□°)╯ ┻━┻ ︵
makes you
developer.atlassian.com/sfdc
• Version control and change management
• Less conflicts and wasted time
• Better collaboration in a team environment
• Faster release cycles
• Better visibility into development
Why?Why?
Look for
Developer Zonein the
Brought to you by Atlassian’s Salesforce Development Team
Thank you!
top related