SuperAPI AI 工具集

wrangler

部署与运维

查看项目

更新于 10-16 10:49

技能介绍

Wrangler 是 Cloudflare Workers 的命令行工具(CLI),用于开发、部署和管理 Workers 及相关服务。使用前需验证安装版本为 v4.x 及以上,若未安装可运行 npm install -D wrangler@latest。

在知识可靠性方面,官方提示对 Wrangler 的 CLI 标志、配置字段和子命令不应依赖预训练知识,建议优先检索最新文档:Wrangler 文档位于 https://developers.cloudflare.com/workers/wrangler/ ,配置架构可查看 node_modules/wrangler/config-schema.json,Cloudflare 文档位于 https://developers.cloudflare.com/workers/。

核心命令包括:启动本地开发服务器 wrangler dev、部署 wrangler deploy、部署演练 wrangler deploy --dry-run、生成 TypeScript 类型 wrangler types、校验配置 wrangler check、查看实时日志 wrangler tail、删除 Worker wrangler delete、查看认证状态 wrangler whoami。

配置采用 wrangler.jsonc,官方建议优先使用 JSON 而非 TOML,因为较新功能仅支持 JSON。最小配置包含 $schema、name、main、compatibility_date 字段。配置中可声明各类绑定:环境变量 vars、KV 命名空间 kv_namespaces、R2 存储桶 r2_buckets、D1 数据库 d1_databases、Workers AI 的 ai、向量索引 vectorize、Hyperdrive、Durable Objects、Cron 触发器 triggers,以及通过 env 定义 staging/production 等多环境。

本地开发默认使用本地存储模拟,可通过配置中为绑定设置 remote: true 来在本地开发时连接真实云端资源。官方推荐需要远程连接的绑定包括 AI(必需)、Vectorize、Browser Rendering、mTLS、Images。本地密钥通过 .dev.vars 文件管理。

部署相关操作包括:wrangler deploy 支持 --env 指定环境、--dry-run 演练、--keep-vars 保留面板变量、--minify 压缩代码。密钥管理通过 wrangler secret put/list/delete/bulk 完成。版本管理支持 wrangler versions list、versions view 以及 wrangler rollback 回滚。

各服务的资源管理命令:KV 支持命名空间创建、列表、删除,以及键值对的 put/get/list/delete 和批量导入,put 支持 --expiration-ttl 设置过期秒数。R2 支持存储桶创建(可带 --location 位置提示)、列表、信息、删除,以及对象的 put/get/delete。D1 支持数据库创建、列表、信息、删除,通过 wrangler d1 execute 执行 SQL(--remote 或 --local),提供 migrations create/list/apply 迁移管理,以及 d1 export 导出备份。Vectorize 支持创建索引(--dimensions 和 --metric,或 --preset 预设)、列表、查询、删除,以及向量 insert 和 query。Hyperdrive 支持创建(--connection-string)、列表、获取、更新、删除。Workers AI 支持 wrangler ai models 列出模型和 finetune list,注意 Workers AI 始终远程运行,即使在本地开发也会产生使用费用。Queues 支持创建、列表、删除及消费者 add/remove。Containers 支持镜像构建(可 --push 一并推送)、推送、容器列表/信息/删除、镜像列表/删除、外部注册表配置。Workflows 支持列表、描述、触发(可带 --params)、删除及实例的 list/describe/terminate。Pipelines 支持创建、列表、显示、更新、删除。Secrets Store 支持存储的创建/列表/删除及密钥的 put/list/get/delete。Pages 支持项目创建、目录部署(wrangler pages deploy ./dist,可带 --branch)及部署列表。

可观测性方面,wrangler tail 支持流式日志、按 Worker 指定、按 --status 或 --search 过滤、--format json 输出;配置中可通过 observability 字段启用日志并设置 head_sampling_rate。

测试方面,可安装 @cloudflare/vitest-pool-workers 与 vitest,并在 vitest.config.ts 中使用 defineWorkersConfig 配置。定时事件测试可通过 wrangler dev --test-scheduled 启用,再通过 HTTP 访问 /__scheduled 触发。

常见问题排查包括:wrangler 命令未找到需安装;认证错误运行 wrangler login;配置校验错误运行 wrangler check;配置变更后类型错误运行 wrangler types;本地存储未持久化检查 .wrangler/state 目录;Worker 中绑定为 undefined 需确认绑定名称与配置完全一致。调试命令有 wrangler whoami、wrangler check、wrangler docs configuration。

最佳实践建议:将 wrangler.jsonc 纳入版本控制作为配置唯一来源;使用自动预配(省略资源 ID 让部署时自动创建);在 CI 中运行 wrangler types 以捕获绑定不匹配;使用环境区隔 staging/production;设置 compatibility_date 并按季度更新;本地密钥使用 .dev.vars 且不要提交到配置;先本地测试再部署;重大部署前使用 --dry-run 验证。