mcloud-local

作者: medusajs

Execute mcloud local build to reproduce a Cloud build on the local machine. Use when debugging a build-failed deployment without pushing to the tracked branch,…

npx skills add https://github.com/medusajs/medusa-agent-skills --skill mcloud-local

Cloud CLI: Local Command

Execute mcloud local build to run a Cloud build on the local machine, mirroring how Cloud builds the project. Use it to debug build-failed deployments without pushing changes and waiting for a full Cloud build.

Constraints

  • No --json flag. local build streams plaintext build output and signals the result through its exit code (0 = success). Do not parse its output as JSON.
  • Requires Docker installed and running, and must run from inside the project's Git repository.
  • Reproduces build-failed (build) failures only — not deployment-failed (runtime) failures. For runtime failures, use mcloud logs --deployment <id>.
  • Available since mcloud CLI v0.1.10.
  • The Docker build cache is disabled by default so variable changes always invalidate the cache; pass --docker-cache to enable it.

Command

local build

Run a Cloud build locally. Infers the root path and build variables from the linked Cloud project and environment. Builds the backend by default; pass --type storefront for the storefront.

mcloud local build \
  --organization <org-id> \
  --project <project-id-or-handle> \
  --environment <environment-handle>

Options:

  • -o/--organization <id> — Organization ID (falls back to active context)
  • -p/--project <id-or-handle> — Project ID or handle (falls back to active context)
  • -e/--environment <handle> — Environment whose variables are used (falls back to active context)
  • -t/--type <backend|storefront> — Build type (default: backend)
  • --root-path <path> — Backend root path relative to the repo root (inferred if omitted; . if no Cloud project found)
  • --storefront-path <path> — Storefront path relative to the repo root, for --type storefront (inferred if omitted)
  • --env-file <path> — Use a local .env file instead of the Cloud environment's variables
  • -v/--var <KEY=VALUE> — Override a single build variable; repeatable
  • --docker-cache — Enable the Docker build cache (default: false)

Output:

  • On success (exit 0), the backend image is tagged <repository-name>:cloud-local-build-<commit-hash>; a storefront build writes its output directory and prints the path.
  • On failure (non-zero exit), the command exits with the failing step's error — debug it as you would a Cloud build.

Reproduce a Build Failure

Check out the same commit the failed deployment built so the local build matches, then route on the exit code:

# Identify the failing deployment and the commit it built
DEPLOYMENT_ID=$(
  mcloud deployments list --json \
    | jq -r '[.[] | select(.backend_status == "build-failed")][0].id'
)
COMMIT=$(mcloud deployments get "$DEPLOYMENT_ID" --json | jq -r '.commit_hash')

git checkout "$COMMIT"

if mcloud local build; then
  echo "Build succeeded locally; failure not reproducible from this commit."
else
  echo "Build failed locally; inspect the streamed output for the failing step."
fi

Once the local build exits 0, push the fix to the tracked branch and start a fresh Cloud build with mcloud environments trigger-build <env>.

Examples

# Reproduce the backend build for the active context
mcloud local build

# Reproduce the storefront build
mcloud local build --type storefront --storefront-path apps/storefront

# Test a build-variable fix without editing code
mcloud local build --var NODE_ENV=production

# Build against a local .env file
mcloud local build --env-file .env

# Reuse the Docker cache for a faster rebuild
mcloud local build --docker-cache

来自 medusajs 的更多技能

mcloud-variables
medusajs
执行mcloud变量命令,列出并获取云环境的环境变量。用于检查、读取或导出环境…
official
building-storefronts
medusajs
以SDK为先的前端集成方案,适用于Medusa商店前端,采用React Query模式并遵循关键API调用规则。所有API请求必须使用Medusa JS SDK——禁止使用常规fetch(),因其缺少必要请求头(商店路由需可发布API密钥,管理路由需认证信息)。向SDK方法传递纯JavaScript对象,切勿对请求体参数使用JSON.stringify(),SDK会自动处理序列化。GET请求使用useQuery,POST/DELETE请求使用useMutation,...
official
building-admin-dashboard-customizations
medusajs
使用管理SDK和Medusa UI组件为Medusa管理后台定制的UI扩展。对于任何管理后台UI工作(规划、实施、探索),请优先加载此技能;MCP服务器仅提供API参考,不包含设计模式或数据加载策略。关键:始终使用Medusa JS SDK进行所有API请求(切勿使用常规fetch);将显示查询与模态查询分离,并在变更后使显示数据失效。在现有页面上实现小部件或创建自定义UI路由;...
official
learning-medusa
medusajs
交互式逐步Medusa开发训练营,在构建品牌功能的同时学习架构模式。包含三个渐进式课程(总计2-3小时),涵盖模块、工作流、API路由、模块链接、工作流钩子及管理界面自定义。每个主要组件完成后进行检查点验证,测试概念理解、代码质量和功能实现。将错误视为教学机会,通过诊断性问题共同调试并定位根本原因……
official
db-migrate
medusajs
执行待处理的Medusa数据库迁移并报告结果。通过Bash运行npx medusa db:migrate,将所有待处理的迁移应用到Medusa数据库。报告迁移结果,包括已应用的迁移数量、遇到的任何错误以及成功确认。专为具有标准npm/npx设置的Medusa项目设计。
official
mcloud-environments
medusajs
执行mcloud environments命令,列出、获取、创建、删除、重新部署或触发云环境的构建。用于管理环境生命周期时使用…
official
db-generate
medusajs
通过单个命令为Medusa模块生成数据库迁移。封装了npx medusa db:generate CLI命令,用于为指定的Medusa模块创建迁移文件。接受模块名称作为参数,并报告迁移文件位置、错误及后续步骤。生成后自动建议运行npx medusa db:migrate以应用迁移。
official
mcloud-deployments
medusajs
执行 mcloud deployments 命令以列出部署、获取部署详情并获取构建日志。在列出部署、检查部署…时使用
official