关于 sf-deploy
sf-deploy 是面向开发者和发布团队的 Salesforce 元数据部署协调技能。它侧重先行模拟验证、限定部署范围、依赖排序、失败排查和部署后核验。
主要功能
- 01部署前模拟验证
- 02按源目录、清单或元数据限定范围
- 03按依赖安排发布顺序
- 04CI/CD 与测试级别指导
- 05部署故障排查与核验
适用场景
- 01部署前验证 Salesforce 变更
- 02规划对象、权限、Apex 和 Flow 的发布
- 03排查部署错误并核验发布结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-deploy安装后在 Claude Code 中输入/sf-deploy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CREDITS.mdLICENSEREADME.mdassets/destructiveChanges.xmlpackage.xmlreferences/agent-deployment-guide.mddeploy.shdeployment-report-template.mddeployment-workflows.mdorchestration.mdtrigger-deployment-safety.md详细介绍
sf-deploy:全面的 Salesforce DevOps 自动化
当用户需要部署编排时使用此技能:干运行验证、定向部署或基于清单的部署、CI/CD 工作流建议、临时组织管理、失败排查,或 Salesforce 元数据的安全发布顺序。
此技能适用的任务
当工作涉及以下内容时,使用 sf-deploy:
sf project deploy start、quick、report或检索工作流- 跨对象、权限集、Apex 和 Flow 的发布顺序
- CI/CD 门禁、测试级别选择或部署报告
- 排查部署失败和依赖顺序问题
以下情况请委托给其他技能:
- 编写 Apex 或 LWC 代码 → sf-apex、sf-lwc
- 创建元数据定义 → sf-metadata
- 构建 Flow → sf-flow
- 执行组织数据操作 → sf-data
- 编写 Agent Script 逻辑 → sf-ai-agentscript
关键操作规则
- 仅使用
sfCLI v2。 - 对于不具备源跟踪功能的组织,部署/检索命令必须指定明确的范围,例如
--source-dir、--metadata或--manifest。 - 正式部署前,优先先使用
--dry-run。 - 对于 Flow,应安全部署,并仅在验证后激活。
- 元数据验证或部署完成后,测试数据创建指导应委托给
sf-data。
默认部署顺序
| 阶段 | 元数据 |
|---|---|
| 1 | 自定义对象/字段 |
| 2 | 权限集 |
| 3 | Apex |
| 4 | Flow(草稿状态) |
| 5 | 激活 Flow/部署后验证 |
此顺序可避免许多依赖关系和 FLS 失败。
首先需要收集的上下文
询问或推断:
- 目标组织别名和环境类型
- 部署范围:source-dir、元数据列表或清单
- 这是仅验证、部署、快速部署、检索,还是 CI/CD 指导
- 所需测试级别和回滚预期
- 是否涉及特殊元数据类型(Flow、权限集、Agent、软件包)
部署前检查:
sf --version
sf org list
sf org display --target-org <alias> --json
test -f sfdx-project.json
推荐工作流
1. 部署前检查
确认身份验证、代码库结构、软件包目录和目标范围。
2. 先验证
sf project deploy start --dry-run --source-dir force-app --target-org <alias> --wait 30 --json
对于范围明确的变更集,请使用基于清单或元数据范围的验证。
3. 验证成功后,提供下一步安全工作流
验证成功后,引导用户执行正确的下一步操作:
- 立即部署
- 分配权限集
- 通过 sf-data 创建测试数据
- 运行测试/冒烟检查
- 按顺序编排多个部署后步骤
4. 部署范围尽可能小且正确
# source-dir deploy
sf project deploy start --source-dir force-app --target-org <alias> --wait 30 --json
# manifest deploy
sf project deploy start --manifest manifest/package.xml --target-org <alias> --test-level RunLocalTests --wait 30 --json
# manifest deploy with Spring '26 relevant-test selection
sf project deploy start --manifest manifest/package.xml --target-org <alias> --test-level RunRelevantTests --wait 30 --json
# quick deploy after successful validation
sf project deploy quick --job-id <validation-job-id> --target-org <alias> --json
5. 验证
sf project deploy report --job-id <job-id> --target-org <alias> --json
然后验证测试、Flow 状态、权限分配和冒烟测试行为。
6. 清晰报告
总结已部署、失败和跳过的内容,以及下一步安全操作。
输出模板:references/deployment-report-template.md
高概率失败模式
| 错误/症状 | 可能原因 | 默认修复方向 |
|---|---|---|
FIELD_CUSTOM_VALIDATION_EXCEPTION | 验证规则或测试数据不正确 | 调整数据或规则时机 |
INVALID_CROSS_REFERENCE_KEY | 缺少依赖项 | 先包含被引用的元数据 |
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY | 触发器/Flow/验证的副作用 | 检查自动化链和失败逻辑 |
| 部署期间测试失败 | 代码有问题或测试不稳定 | 运行定向测试,修复根因后重新验证 |
| 权限集中找不到字段/对象 | 顺序错误 | 先部署对象/字段,再部署权限集 |
| Flow 无效/版本冲突 | 依赖或激活问题 | 以草稿状态部署,验证后再激活 |
完整工作流:references/orchestration.md、references/trigger-deployment-safety.md
CI/CD 指南
默认流水线结构:
- 身份验证
- 验证仓库 / 组织状态
- 静态分析
- 部署试运行
- 测试 + 覆盖率门槛
- 部署
- 验证 + 通知
- 在组织策略和发布风险允许的情况下,对于 Apex 占比较高的部署,可考虑使用
--test-level RunRelevantTests。 - 将其与现代 Apex 测试注解搭配使用,例如
@IsTest(testFor=...)和@IsTest(isCritical=true),详见sf-apex文档。
静态分析现使用 Code Analyzer v5(sf code-analyzer),而非已弃用的 sf scanner。
深入参考:references/deployment-workflows.md
Agentforce 部署说明
使用此技能来编排 Agent 周边的部署 / 发布顺序,但有关编写的决策请使用特定于 Agent 的技能:
- sf-ai-agentscript,用于
.agent编写和验证 - sf-ai-agentforce,用于 Agent Builder / Prompt Builder / 元数据配置
有关完整的 Agent DevOps 详情,包括 Agent: 伪元数据、发布 / 激活以及组织间同步,请参阅:
跨技能集成
| 需求 | 委派给 | 原因 |
|---|---|---|
| 创建自定义对象 / 字段 | sf-metadata | 在部署前定义元数据 |
| Apex 编译 / 审查 / 修复 | sf-apex | 代码编写和修复 |
| Flow 创建 / 修复 | sf-flow | Flow 编写和激活指南 |
| 测试数据或种子记录 | sf-data | 先描述再设置数据并进行清理 |
| Agent Script 构建 / 发布就绪性 | sf-ai-agentscript | Agent 特定的正确性 |
参考索引
从这里开始
- references/orchestration.md
- references/deployment-workflows.md
- references/deployment-report-template.md
专项部署安全
评分指南
| 分数 | 含义 |
|---|---|
| 90+ | 部署计划和执行指南完善 |
| 75–89 | 部署指南良好,仅有少量待审查项 |
| 60–74 | 部署风险覆盖不完整 |
| < 60 | 信心不足;应在推出前完善计划 |
完成格式
Deployment goal: <validate / deploy / retrieve / pipeline>
Target org: <alias>
Scope: <source-dir / metadata / manifest>
Result: <passed / failed / partial>
Key findings: <errors, ordering, tests, skipped items>
Next step: <safe follow-up action>