Shopify Functions

shopify app deploy 成功了函数却还是旧版本

现象#

CLI 显示 deploy 完成、版本号也递增,线上结账仍按旧规则算;Dev Dashboard 的 Versions 页里最新一条状态是未发布。

原因#

  • deploy 创建的是 app version,CI 里加了 --no-release 就不会替换线上版本
  • 开发店 preview 开关打开时会固定服务某个旧版本,发布新版本也不切换
  • 发布后要几分钟才推送到所有店铺,刚发完就测会读到旧逻辑
  • 把 Logs 里别的 target 记录当成这个函数的运行,误判版本已切换

处理步骤#

  1. 跑 shopify app versions list,确认最新版本处于 released
  2. 补发布时执行 shopify app release --version=<tag>
  3. 关掉 development store preview 开关后重新部署一次
  4. 在 Dev Dashboard 的 Operations → Logs 里筛 Type 为 Function
  5. 等 5 分钟后用新购物车重走结账,核对 output 里的版本字段

验收标准#

Versions 页显示目标版本为当前版本,Function 日志最近一次运行的 output 与本地回放一致。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。