mcpField
F
fcode-release

fcode-release

github.com/factorialco云与 DevOps1242 次安装2 周前更新
代码仓库

关于 fcode-release

Factorial Code 技能,通过 CLI 远程端将应用代码从开发工作区推送到生产工作区。发布前要求通过验证,并在推送生产代码前取得明确确认。

主要功能

  1. 01在工作区间推送代码
  2. 02推送前要求通过验证
  3. 03确认前审查生产变更
  4. 04遇到分歧即停止且不强制推送

适用场景

  1. 01推送已验证的应用工作区
  2. 02推送前检查生产变更
  3. 03安全处理工作区分歧

安装

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

$npx skills add https://github.com/factorialco/factorial-code-skills --skill fcode-release

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

详细介绍

Factorial Code — 发布

使用 CLI 远程配置,将应用代码从 dev-… 工作区推广到 prod-… 工作区。 输入:两个工作区 slug。此操作仅更新 prod 的当前(未版本化)代码;发布工作区版本并移动 stable 别名属于单独的平台发布流程(模型见 fcode-core-concepts,操作流程见 fcode-ama):除非用户明确要求,否则不要在此流程中运行 settings:versions:* 或移动 stable。

每次发布都必须经过 fcode-code-validation 验证,详见操作流程。

注意事项

  • 必须具有 prod 写入权限。 只有操作员和应用的 Factorial 团队管理员可以推送到 prod-… 工作区;发布请求提交后,管理员的授权会生效并写入访问令牌中——如果请求后立即被拒绝访问 prod,请运行 fcode login 后重试。由谁推广以及原因:fcode-ama。
  • 推送前必须获得 ✅ 验证结果。 先对 dev 工作区运行 fcode-code-validation;只要报告中存在阻断项,就拒绝推送。只有用户明确要求“尽管存在阻断项也照常推送”时才可继续——并记录此验证关卡已被覆盖。
  • 执行最终的 fcode push 前,务必先确认。 概述 prod 工作区将发生的变更,并等待用户明确同意——prod 代码服务于正在运行的安装实例。
  • 绝不使用 --force。 如果 fcode pull 或 fcode push 报告本地与 prod 存在差异,请停止,说明差异内容,并询问用户如何处理(fcode-cli)。
  • remote:add 后必须执行 fcode pull——该命令会获取 prod 工作区的当前元数据。跳过此步骤会将过时设置推送到 prod。
  • 两个 slug 都是编码后的令牌(dev-… / prod-…),不是应用的 UUID(见 fcode-cli)。请核对前缀:克隆目标和推送目标不得互换。
  • fcode clone 失败通常意味着令牌输入错误或缺少访问权限(见 fcode-ama)——不要盲目重试。
  • 如果本地已存在 dev-xxx/,不要悄悄复用——询问用户是从全新克隆发布(推荐),还是使用现有副本;若使用现有副本,请先运行 fcode pull。

操作流程

  1. 收集两个 slug。 一个 dev-…(源),一个 prod-…(目标)。如果前缀错误,或无法确定它们分别属于哪个应用,请停止并询问。

  2. 验证关卡。 确保 dev 工作区存在最新的 ✅ APP_VALIDATION_REPORT.md——如果报告缺失或已过时,请运行 fcode-code-validation。若结果为 ❌,请列出阻断项并拒绝继续;只有用户明确覆盖验证关卡后才可继续。

  3. 克隆并配置 prod 远程仓库:

    fcode clone --skipSkillsSetup dev-xxx
    cd dev-xxx
    fcode remote:add prod-xxx
    fcode pull          # mandatory: picks up prod's current metadata
    fcode add           # registers resources prod doesn't have yet
    

    如果 fcode pull 报告存在差异,请停止并询问(见“注意事项”)。

  4. 确认。 运行 fcode status,向用户概述推送将对 prod-xxx 产生的变更(流程、模块、变量、设置),并等待用户明确确认。

  5. 推送:

    fcode push
    

    如果存在差异,请停止并询问——绝不可自行使用 --force。

  6. 报告结果,并提醒用户平台发布(发布版本、移动 stable)是单独的步骤(fcode-ama)。

评论

支持 Markdown