salesforce dx ことはじめ
TRANSCRIPT
Salesforce DX
2017.7.12 Tokyo Salesforce Developer Group
Meetup #15
• Salesforce DX CLI
• https://goo.gl/rHYmms OS
• Dev Hub Trial Org
• https://goo.gl/p1pL87
Twitter: zaki___yama Blog: http://dackdive.hateblo.jp/
• Salesforce DX
•
•
• Salesforce DX CLI
• CLI
• Dev Hub
• Scratch Org
•
•
Salesforce DX
• Dreamforce’16 Dev Keynote
• Pilot
• 6 TrailheaDX Open Beta
• Trailhead
Salesforce DX :
https://www.slideshare.net/DeveloperForceJapan/spring-17
https://www.slideshare.net/DeveloperForceJapan/spring-17
https://www.slideshare.net/DeveloperForceJapan/spring-17
• CLI
•
•
•
• Scratch Org
• Docker
Salesforce DX :
• CLI
Metadata API
• Force.com Migration Tool jsforce
• CLI
:
Salesforce DX CLI
CLI
https://trailhead.salesforce.com/ja/trails/sfdx_get_started/modules/sfdx_app_dev/units/sfdx_app_dev_setup_dx#Tdxn4tBK-heading6
• Dev Hub = Scratch Org
• Dev Hub
1. 30
2. Dev Hub
Dev Hub
1. Dev Hub Trial Org
https://developer.salesforce.com/promotions/orgs/dx-signup
2.
Dev Hub
$ sfdx force:auth:web:login -d -a DevHub
# : -d: Dev Hub -a:
#
$ sfdx force:org:open -u DevHub
Tips:
$ sfdx force:auth:web:login -a FullSandbox$ sfdx force:auth:web:login -a DevSandbox
• force:auth:web:login Dev Hub Scratch
Org
• Sandbox
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 _
$ 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
$ sfdx force:project:create -n geolocation
$ tree geolocationgeolocation"!! README.md"!! config# %!! project-scratch-def.json"!! force-app# %!! main# %!! default# %!! aura%!! sfdx-project.json
# Git
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
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
Scratch Org
$ sfdx force:org:create -s -f config/project-scratch-def.json -a GeoAppScratch
# : -s Scratch Org -f Scratch Org -a
# `.sfdx` # .gitignore
# 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
# Geolocation # (force-app/main/default/permissionsets/Geolocation.permissionset)
$ sfdx force:user:permset:assign -n GeolocationPermission Set successfully assigned
$ 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 # #
$ sfdx force:org:open
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
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
• Scratch Org
•
• CI Git/GitHub Flow
• CLI
•
• Apex Lightning Component
• retrieve
•
• retrieve
Trailhead
•
•
•
Trailhead