Salesforce DX - 使用Salesforce命令行

Salesforce DX(developer Experience) 是一组可简化整个开发生命周期的工具,极大的改善了团队开发和协作,促进自动化测试和持续集成,并使发布周期更加有效和敏捷。Salesforce DX做的很多设置都是创建了一个专用的临时组织(Scratch Org),在启动新项目,新功能分支或功能测试时,可以快速启动配置这样一个短期的Salesforce环境。

首先启用开发人员中心组织(Dev Hub),在setup → 搜索 Dev Hub

 

 

 

然后安装命令行界面(可以参考我前面的博客:Salesforce 开发新工具 - Visual Studio Code),使用Salesforce Command Line(CTL)来控制Salesforce应用程序的整个应用程序生命周期,有了它,就能轻松的创建用于开发和测试的环境,在Salesforce Org和Github等之间同步源代码,并执行测试

在TERMINAL中输入sfdx COMMADN可以查看命令

 

接下来就是登陆到我们的开发中心的组织

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

输入Dev Hub组织用户名密码登陆,并允许CTL请求的权限,你会在CTL中看到成功授权的信息

 

 Tips:友情提示,这个建议使用开发者账号或者Trailhead Playground账号来练习,不建议使用正式系统的账号哦

 完成上述步骤后,接下来就是从GitHub上下载项目.

// 创建一个名为 my_sfdx_project 的文件夹
mkdir my_sfdx_project
// 进入 my_sfdx_project 文件夹
cd my_sfdx_project
// clone github上的代码 - Sales force测试项目
git clone https://github.com/dreamhouseapp/dreamhouse-sfdx.git
// 直接打开
cd dreamhouse-sfdx

 

 

 克隆下来的存储库包含了所有源代码在本地文件系统中,你可以对这些代码进行更新,但是在同步回GitHub的时候,记得创建自己的代码分支,有助于确保Master分支是经过校验的正确的代码,不会被错误的代码所覆盖掉

// 创建自己的Branch
git checkout -b my_branch

最后就是创建并测试你的临时组织环境(Scratch Org),第一步就是更新 config/project-scratch-def.json 文件,你可以使用 cat config/project-scratch-def.json 查看可能的配置文件

 

 

使用以下命令创建临时组织,将其设置为默认组织,并为其指定别名

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

执行上述命令后会返回组织用户名和Org Id

 

 

 这样生成的临时环境,只有用户名,没有密码的,所以使用命令行可以打开这个环境:

sfdx force:org:open

这时候从新打开的Salesforce环境中,你会发现一切都是全新的,没有任何自定义的内容,所以我们可以部署从GitHub上clone下来的源代码 

sfdx force:source:push

 将应用程序DreamHouse部署到Scratch Org后,Salesforce提供的这个Demo是使用权限集来提供访问权限的,所以我们使用命令行分配权限集

// 分配权限集
sfdx force:user:permset:assign -n Dreamhouse

 

 这样分配好权限后,在Org中缺少一些测试数据,我们也可以使用命令行和SObject Tree API导入数据

sfdx force:data:tree:import --plan data/sample-data-plan.json

 

 在你创建的临时Org中,DreamHouse下的Properties对象会出现一些被导入的记录内容

 

 如此就通过Salesforce DX成功创建了一个完整的开发环境,可以在这个环境中对功能特性进行测试,不过需要注意的一点是,既然是临时组织,那么它存在的时间就相对有一个期限,在你使用sfdx force:org:list 命令时候,能查看当前所有Org,以及你创建的临时组织存在的期限,默认情况下,临时组织会在7天后过期,除非在创建时设置了持续时间,当临时组织过期时,Salesforce会从Dev Hub组织中删除临时组织及其关联的ActiveScratchOrg记录

一个Org每天能创建的临时组织取决于Dev Hub版本,具体如下:

EditionActive Scratch Org AllocationDaily Scratch Org Allocation
Developer Edition or trial 3 6
Enterprise Edition 40 80
Unlimited Edition 100 200
Performance Edition 100 200

 

 

 

 

同时,临时组织是有存储限制的,200MB的数据,50MB的文件,

我们可以通过一条命令查看要查看已经分配了多少临时组织,以及剩余多少:

sfdx force:limits:api:display -u <Dev Hub username or alias>

 

以上是对Salesfore DX的简单学习,如有错漏可以留言交流

 

参考文档:

1.Scratch Orgs

2.Quick Start Salesforce DX

 

posted @ 2020-04-07 18:28  Ricardo.M.Lu  阅读(943)  评论(0编辑  收藏  举报