mcpField
S
sf-deploy

sf-deploy

github.com/jaganpro云与 DevOps4241.4k 次安装26 周前更新
代码仓库

关于 sf-deploy

sf-deploy 是面向开发者和发布团队的 Salesforce 元数据部署协调技能。它侧重先行模拟验证、限定部署范围、依赖排序、失败排查和部署后核验。

主要功能

  1. 01部署前模拟验证
  2. 02按源目录、清单或元数据限定范围
  3. 03按依赖安排发布顺序
  4. 04CI/CD 与测试级别指导
  5. 05部署故障排查与核验

适用场景

  1. 01部署前验证 Salesforce 变更
  2. 02规划对象、权限、Apex 和 Flow 的发布
  3. 03排查部署错误并核验发布结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jaganpro/sf-skills --skill sf-deploy

安装后在 Claude Code 中输入/sf-deploy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CREDITS.md
LICENSE
README.md
assets/
destructiveChanges.xml
package.xml
references/
agent-deployment-guide.md
deploy.sh
deployment-report-template.md
deployment-workflows.md
orchestration.md
trigger-deployment-safety.md

详细介绍

sf-deploy:全面的 Salesforce DevOps 自动化

当用户需要部署编排时使用此技能:干运行验证、定向部署或基于清单的部署、CI/CD 工作流建议、临时组织管理、失败排查,或 Salesforce 元数据的安全发布顺序。

此技能适用的任务

当工作涉及以下内容时,使用 sf-deploy:

  • sf project deploy start、quick、report 或检索工作流
  • 跨对象、权限集、Apex 和 Flow 的发布顺序
  • CI/CD 门禁、测试级别选择或部署报告
  • 排查部署失败和依赖顺序问题

以下情况请委托给其他技能:


关键操作规则

  • 仅使用 sf CLI v2。
  • 对于不具备源跟踪功能的组织,部署/检索命令必须指定明确的范围,例如 --source-dir、--metadata 或 --manifest。
  • 正式部署前,优先先使用 --dry-run。
  • 对于 Flow,应安全部署,并仅在验证后激活。
  • 元数据验证或部署完成后,测试数据创建指导应委托给 sf-data。
默认部署顺序
阶段元数据
1自定义对象/字段
2权限集
3Apex
4Flow(草稿状态)
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. 验证成功后,提供下一步安全工作流

验证成功后,引导用户执行正确的下一步操作:

  1. 立即部署
  2. 分配权限集
  3. 通过 sf-data 创建测试数据
  4. 运行测试/冒烟检查
  5. 按顺序编排多个部署后步骤
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 指南

默认流水线结构:

  1. 身份验证
  2. 验证仓库 / 组织状态
  3. 静态分析
  4. 部署试运行
  5. 测试 + 覆盖率门槛
  6. 部署
  7. 验证 + 通知
  • 在组织策略和发布风险允许的情况下,对于 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 的技能:

有关完整的 Agent DevOps 详情,包括 Agent: 伪元数据、发布 / 激活以及组织间同步,请参阅:


跨技能集成

需求委派给原因
创建自定义对象 / 字段sf-metadata在部署前定义元数据
Apex 编译 / 审查 / 修复sf-apex代码编写和修复
Flow 创建 / 修复sf-flowFlow 编写和激活指南
测试数据或种子记录sf-data先描述再设置数据并进行清理
Agent Script 构建 / 发布就绪性sf-ai-agentscriptAgent 特定的正确性

参考索引

从这里开始
专项部署安全

评分指南

分数含义
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>

评论

支持 Markdown