设置 Salesforce DX 环境(01 Set Up Your Salesforce DX Environment)
本单元概述 Salesforce DX 及它基于的两个组织概念——scratch org 和 Developer Hub——然后在 Playground 里启用 Dev Hub、安装 Salesforce CLI、登录你的 Dev Hub。这是整个项目的基础。
简介(一):Salesforce DX(Introduction (1): Salesforce DX)
Salesforce DX(Salesforce Developer Experience) 是一套简化整个开发生命周期的工具:
- 改进团队开发和协作;
- 促进自动化测试和持续集成;
- 让发布周期更高效、更敏捷。
它从存放在你的版本控制系统(VCS)里的源代码开始——用哪个 VCS 不重要,重要的是你要用。
简介(二):从示例应用开始(Introduction (2): Starting From a Sample App)
本快速上手假设使用 Git + GitHub——示例应用存放在那里:
- DreamHouse 应用:
github.com/trailheadapps/dreamhouse-lwc。
接下来的旅程:
- 把仓库克隆到本地;
- 创建自己的分支;
- 启动一个 scratch org;
- 部署 + 加载数据 + 测试应用。
从 GitHub 代码到 scratch org 里运行的应用,完整的 Salesforce DX 闭环。
什么是 Scratch Org?(What Is a Scratch Org?)
Scratch org 是 Salesforce DX 启用的一种新型组织:
- 专用于你的任务;
- 可配置;
- 短期存在。
开始新项目、新功能分支或功能测试时,快速启动一个。因为它是一次性的,你可以自由实验而不必担心破坏共享组织,用完直接删除。
什么是 Developer Hub Org?(What Is a Developer Hub Org?)
Developer Hub(Dev Hub) 是你和团队用来创建和管理 scratch org 的主要 Salesforce 组织。每个 scratch org 都属于某个 Dev Hub。
可以把 Dev Hub 想象成控制点:创建 scratch org 的能力就在它这里,它是你在创建任何 scratch org 之前要用 CLI 授权的组织。
在 Trailhead Playground 中启用 Dev Hub(Enable Dev Hub in Your Trailhead Playground)
你可以在任何付费组织启用 Dev Hub,但最好在生产之外练习。本项目用 Developer Edition 组织或 Trailhead Playground,在那里启用 Dev Hub。
方法:参照 Salesforce DX 开发者文档里的 Enable Dev Hub 分步指南。启用后,这个组织就是本项目后续要用的 Dev Hub。
获取 Trailhead 用户名和密码(Get Your Trailhead Username and Password)
本项目需要你的 Dev Hub 登录凭据——即你启用 Dev Hub 的那个 Developer Edition 或 Playground 组织的用户名和密码。如果还不知道,参照 Salesforce Help 文章 Find the Username and Password for Your Trailhead Playground 找回。接下来你要用这些凭据通过 CLI 登录。
安装 CLI(一):CLI 的作用(Install the CLI (1): What the CLI Does)
Salesforce CLI 是控制应用完整生命周期的命令行工具:
- 为开发和测试创建环境;
- 在组织和版本控制系统之间同步源代码;
- 执行测试。
完整的安装步骤见开发者文档里的 Salesforce CLI Setup Guide。
安装 CLI(二):安装与验证(Install the CLI (2): Install & Verify)
安装:
- 从 Salesforce CLI 页面下载对应操作系统的安装程序;
- 安装。
验证:在命令行运行 sf update,应看到类似 Updating CLI.... 的输出——CLI 已安装且是最新版。下一步登录 Dev Hub。
登录 Dev Hub(一):用别名授权(Log In to the Dev Hub (1): Authorize With an Alias)
登录你的 Dev Hub 启用组织:
- 打开命令窗口;
- 授权 Dev Hub、给它别名、并设为默认组织:
sf org login web -d -a DevHub(-a DevHub给组织一个友好别名,-d设为默认组织)。
该命令在浏览器打开 Salesforce 登录页。
登录 Dev Hub(二):允许并确认(Log In to the Dev Hub (2): Allow & Confirm)
完成登录:
- 用 Dev Hub 组织的凭据登录(必须是启用 Dev Hub 的组织);
- 点击 Allow(授权 Salesforce CLI 连接应用);
- 回到终端,看到类似
Successfully authorized ... with org id 00D...的消息。
CLI 会记住凭据,之后可关闭 Dev Hub 网页继续工作。若用 Developer Edition 组织,记得把它连接到 Trailhead(页面底部挑战区点击 org 名 → Connect Org → 登录 → Allow)。最后点击 Verify Step 确认。
在本地机器上设置项目(02 Set Up the Project on Your Local Machine)
本单元目标:设置你要用来修改 DreamHouse 应用的开发项目。你将从 GitHub 克隆仓库,再创建自己的分支以保持 main 分支干净,并快速看一下 Salesforce CLI 的帮助。
从 GitHub 下载项目(一):创建工作文件夹(Download a Project (1): Create a Working Folder)
Windows 用户先安装 Git for Windows(让命令行能运行 git)。然后:
- 打开新的 Terminal(macOS)或 Command Prompt(Windows)窗口;
- 创建唯一的工作目录:
mkdir my_sf_project; - 进入它:
cd my_sf_project。
从 GitHub 下载项目(二):克隆 DreamHouse 仓库(Download a Project (2): Clone the DreamHouse Repo)
工作文件夹就绪后,克隆应用仓库:
git clone https://github.com/trailheadapps/dreamhouse-lwc.git;- 进入项目目录:
cd dreamhouse-lwc。
克隆把所有源代码拉取到本地文件系统。开始编辑前,下一步要创建自己的分支(GitHub Flow 最佳实践)。
为项目创建分支(一):从 main 分支(Create a Branch (1): Branch From Main)
写任何代码前先创建自己的工作分支:
- 在命令窗口运行
git checkout -b my_branch。
为什么?这是 GitHub Flow 最佳实践:让 main 分支保持干净、可生产,所有改动都在功能分支上做。在自己的分支里工作,之后以 pull request 提交更新给团队也很方便。
为项目创建分支(二):探索 CLI(Create a Branch (2): Explore the CLI)
Salesforce DX 通过 CLI 提供一整套能力。运行 sf --help 查看可用命令——project、org、data、deploy 等。项目已克隆、已分支、CLI 已确认,接下来创建 scratch org。Salesforce 不会检查任何设置,准备好后点击 Verify Step 继续。
创建并测试 Scratch Org(03 Create and Test Our Scratch Org)
本单元是源代码与真实组织相遇的地方。你将创建 scratch org、把 DreamHouse 应用部署进去、分配权限集、导入示例数据,然后测试应用确认一切就绪。
简介(一):创建、分配、推送——计划(Introduction (1): Create, Assign, Push)
本步骤你将:
- 创建 scratch org;
- 分配权限集;
- 把示例数据推送到 scratch org。
注意 scratch org 限制:Dev Hub 组织的版本决定每天能创建多少、同时能活跃多少个。可运行 sf org delete scratch 删除现有 scratch org 释放配额。
简介(二):创建 Scratch Org(Introduction (2): Create the Scratch Org)
创建 scratch org:
- 运行
sf org create scratch -d -f config/project-scratch-def.json -a dreamhouse-org(-f指向组织定义,-d设为默认,-a给别名)。通常不到一分钟完成,输出 org ID 和 username; - 打开它:
sf org open。
注意没有密码——Salesforce DX 用缓存的认证令牌。因为用 -d 设为默认,系统记住令牌并自动登录。
部署源元数据到 Scratch Org(Deploy Source Metadata to Scratch Org)
scratch org 已打开但是空的。从项目目录运行 sf project deploy start,把所有元数据推送到 scratch org。需要几秒,完成后终端显示成功部署的资源列表。你的组织现在有了 DreamHouse 应用所需的所有组件。
给 DreamHouse 应用分配权限集(Assign a Permission Set to the DreamHouse App)
DreamHouse 应用用一个权限集提供访问。测试应用前需要分配权限集:运行 sf org assign permset -n Dreamhouse。Salesforce CLI 可以远程分配权限集——无需在 UI 里点击。但测试还需要数据,下一步推送示例数据。
导入测试数据(Import Test Data)
用 Salesforce data 命令从终端操作记录,导入数据用 sObject Tree Save API。运行 sf data import tree -p data/sample-data-plan.json,把项目自带的示例数据导入。完成后 scratch org 里既有 DreamHouse 项目又有数据,可以测试了。
在 Scratch Org 中测试应用(一):打开 DreamHouse(Test Your App (1): Open DreamHouse)
推送项目和数据后,检查一切是否如预期:
- 若 scratch org 未打开,运行
sf org open; - 从 App Launcher 找到并打开 Dreamhouse;
- 点击 Properties 标签——应看到 12 个新房产。
这确认了元数据部署和数据导入都正确。
在 Scratch Org 中测试应用(二):验证 Brokers(Test Your App (2): Verify Brokers)
再检查一项:点击 Brokers 标签,应看到 8 个新经纪人。
恭喜!你用了 Salesforce CLI:
- 创建 scratch org;
- 分配权限集;
- 推送示例数据。
现在可以开始开发 DreamHouse 应用的新功能了。建议继续学习 Salesforce DX 与 VS Code、持续集成(CI)的配合,见 Get Started with Salesforce DX trail。























