salesforce dx ことはじめ

36
Salesforce DX 2017.7.12 Tokyo Salesforce Developer Group Meetup #15

Upload: shingo-yamazaki

Post on 22-Jan-2018

813 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Salesforce DX ことはじめ

Salesforce DX

2017.7.12 Tokyo Salesforce Developer Group

Meetup #15

Page 2: Salesforce DX ことはじめ

• Salesforce DX CLI

• https://goo.gl/rHYmms OS

• Dev Hub Trial Org

• https://goo.gl/p1pL87

Page 3: Salesforce DX ことはじめ

Twitter: zaki___yama Blog: http://dackdive.hateblo.jp/

Page 4: Salesforce DX ことはじめ
Page 5: Salesforce DX ことはじめ
Page 6: Salesforce DX ことはじめ

• Salesforce DX

• Salesforce DX CLI

• CLI

• Dev Hub

• Scratch Org

Page 7: Salesforce DX ことはじめ

Salesforce DX

Page 8: Salesforce DX ことはじめ

• Dreamforce’16 Dev Keynote

• Pilot

• 6 TrailheaDX Open Beta

• Trailhead

Salesforce DX :

Page 9: Salesforce DX ことはじめ

https://www.slideshare.net/DeveloperForceJapan/spring-17

Page 10: Salesforce DX ことはじめ

https://www.slideshare.net/DeveloperForceJapan/spring-17

Page 11: Salesforce DX ことはじめ

https://www.slideshare.net/DeveloperForceJapan/spring-17

Page 12: Salesforce DX ことはじめ

• CLI

• Scratch Org

• Docker

Salesforce DX :

Page 13: Salesforce DX ことはじめ

• CLI

Metadata API

• Force.com Migration Tool jsforce

• CLI

:

Page 14: Salesforce DX ことはじめ

Salesforce DX CLI

Page 16: Salesforce DX ことはじめ

• Dev Hub = Scratch Org

• Dev Hub

1. 30

2. Dev Hub

Dev Hub

Page 17: Salesforce DX ことはじめ

1. Dev Hub Trial Org

https://developer.salesforce.com/promotions/orgs/dx-signup

Page 18: Salesforce DX ことはじめ

2.

Page 19: Salesforce DX ことはじめ

Dev Hub

$ sfdx force:auth:web:login -d -a DevHub

# : -d: Dev Hub -a:

#

$ sfdx force:org:open -u DevHub

Page 20: Salesforce DX ことはじめ

Tips:

$ sfdx force:auth:web:login -a FullSandbox$ sfdx force:auth:web:login -a DevSandbox

• force:auth:web:login Dev Hub Scratch

Org

• Sandbox

Page 21: Salesforce DX ことはじめ

Tips:

$ sfdx force:auth:web:logi -d -a DevHub ▸ force:auth:web:logi is not a sfdx command. ▸ Perhaps you meant force:auth:web:login? ▸ Run sfdx _ to run sfdx force:auth:web:login -d -a DevHub. ▸ Run sfdx help for a list of available commands.

$ sfdx _Successfully authorized [email protected] with org id 00D7F000000ykQEUAYYou may now close the browser

typo

sfdx _

Page 22: Salesforce DX ことはじめ

$ sfdx force:org:list=== Organizations ALIAS USERNAME ORG ID !!! !!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!! [email protected] 00D3D0000000 DXPlayground [email protected] 00D7F000000z(D) DevHub [email protected] 00D7F000000y Hub Org [email protected] 00D6F000001f

ALIAS SCRATCH ORG NAME USERNAME O !!!!!!!!!!!!! !!!!!!!!!!!!!!!! !!!!!! GeoTestOrg yamazaki Company test-kqg7awbaeoo1@yamazaki_company.net 0 TempUnmanaged yamazaki Company test-nizw4ivearhy@yamazaki_company.net 0

Page 23: Salesforce DX ことはじめ

$ sfdx force:project:create -n geolocation

$ tree geolocationgeolocation"!! README.md"!! config#   %!! project-scratch-def.json"!! force-app#   %!! main#   %!! default#   %!! aura%!! sfdx-project.json

# Git

Page 24: Salesforce DX ことはじめ

sfdx-project.json

{ "packageDirectories": [ { "path": "force-app", "default": true } ], "namespace": "", "sfdcLoginUrl": "https://login.salesforce.com", "sourceApiVersion": "40.0"}

Salesforce DX Developer Guide (Beta) > Salesforce DX Project Configuration

Page 25: Salesforce DX ことはじめ

config/project-scratch-def.json

{ "orgName": "yamazaki Company", "edition": "Developer", "orgPreferences" : { "enabled": ["S1DesktopEnabled"] }}

Salesforce DX Developer Guide (Beta) > Scratch Org Definition File

Salesforce DX Developer Guide (Beta) > Scratch Org Definition Configuration Values

Scratch Org

Page 26: Salesforce DX ことはじめ

Scratch Org

$ sfdx force:org:create -s -f config/project-scratch-def.json -a GeoAppScratch

# : -s Scratch Org -f Scratch Org -a

# `.sfdx` # .gitignore

Page 27: Salesforce DX ことはじめ

# geolocation $ git clone https://github.com/zaki-yama/sfdx-trailhead tmp$ cp -r tmp/geolocation/force-app geolocation$ cp -r tmp/geolocation/data geolocation

# $ sfdx force:source:pushSTATE FULL NAME TYPE PROJECT !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!! !!!!!!!!Add AccountList AuraDefinitionBundle force-apAdd AccountListItem AuraDefinitionBundle force-apAdd AccountLocator AuraDefinitionBundle force-apAdd AccountMap AuraDefinitionBundle force-ap...

https://github.com/zaki-yama/sfdx-trailhead/tree/master/geolocation

Page 28: Salesforce DX ことはじめ

# Geolocation # (force-app/main/default/permissionsets/Geolocation.permissionset)

$ sfdx force:user:permset:assign -n GeolocationPermission Set successfully assigned

Page 29: Salesforce DX ことはじめ

$ sfdx force:data:tree:import -f data/Account.json=== Import ResultsREFERENCE ID TYPE ID!!!!!!!!!!!! !!!!!!! !!!!!!!!!!!!!!!!!!AccountRef1 Account 0010q000004soQGAAYAccountRef2 Account 0010q000004soQHAAYAccountRef3 Account 0010q000004soQIAAY

# json - - force:data:tree:export -q “SELECT Id, …” -d ./data # #

Page 30: Salesforce DX ことはじめ

$ sfdx force:org:open

Page 31: Salesforce DX ことはじめ

Scratch Org

$ mkdir mdapioutput# force-app/ mdapioutput/ $ sfdx force:source:convert -d mdapioutput/

# $ sfdx force:mdapi:deploy -d mdapioutput/ -u MyTPO -w 100

Scratch Org

convert

force:source force:mdapi

Page 32: Salesforce DX ことはじめ

Scratch Org

$ sfdx force:org:delete -u GeoAppScratchEnqueue scratch org with name: GeoAppScratch for deletion? Are you sure (y/n)?: ySuccessfully marked scratch org GeoAppScratch for deletion

Scratch Org

Page 33: Salesforce DX ことはじめ
Page 34: Salesforce DX ことはじめ

• Scratch Org

• CI Git/GitHub Flow

• CLI

Page 35: Salesforce DX ことはじめ

• Apex Lightning Component

• retrieve

• retrieve

Trailhead

Page 36: Salesforce DX ことはじめ

Trailhead