Master your metadata

33

Transcript of Master your metadata

Page 1: Master your metadata
Page 2: Master your metadata

Brought to you by Atlassian’s Salesforce Development Team

Master your metadataBest practices for versioning, CI and

deployments

Page 3: Master your metadata

Tim PettersenDev Tools Dude

@kannonboy

Dan JohnsonSalesforce Superguy

@dapperdanj

Page 4: Master your metadata

Clobbered Changes

Page 5: Master your metadata

Photo: NASA

Deployment Failures

Page 6: Master your metadata

Rollbacks?

Page 7: Master your metadata

Clicks versus Code

AdministratorYour dev sandboxes

Page 8: Master your metadata
Page 9: Master your metadata
Page 10: Master your metadata

ProductionUATShared Dev Sandbox

Individual Dev

Sandboxes

Page 11: Master your metadata

ProductionUATShared Dev Sandbox

Page 12: Master your metadata

JIRA-456

JIRA-123

Linear workflow

Page 13: Master your metadata

feature/JIRA-123

stable master branch

isolated feature work

master

Branching workflow

Page 14: Master your metadata

per

Branch all the things

Branch featurebuglabel change

Page 15: Master your metadata

It starts in …

Page 16: Master your metadata

ProductionUATDeveloper Sandbox

Page 17: Master your metadata

• 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

Page 18: Master your metadata

ProductionUATDeveloper Sandbox

Page 19: Master your metadata

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

Page 20: Master your metadata

Touch button deploy

Page 21: Master your metadata

ProductionUATDeveloper Sandbox

Page 22: Master your metadata

ProductionUATDeveloper Sandbox

Fork Synching

Page 23: Master your metadata
Page 24: Master your metadata

Back to …

Page 25: Master your metadata

Automatic Issue Transitions

feature branch

master

IN REVIEW RELEASEDIN PROGRESSOPEN

Branch created!Pull Request Created!Pull Request Merged!

Page 26: Master your metadata

Destructive Changes Plan

Page 27: Master your metadata

Developer Sandbox

Individual Developer Sandboxes

Shared Developer Sandbox UAT Production

<Package> … </Package>

destructiveChanges.xml

destroy/JIRA-123

Page 28: Master your metadata

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

Page 29: Master your metadata

for when

(╯°□°)╯ ┻━┻ ︵

makes you

Page 30: Master your metadata

developer.atlassian.com/sfdc

Page 31: Master your metadata

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

Page 32: Master your metadata

Look for

Developer Zonein the

Page 33: Master your metadata

Brought to you by Atlassian’s Salesforce Development Team

Thank you!