SuperAPI AI 工具集

wp-wpcli-and-ops

部署与运维

查看项目

更新于 10-16 06:05

技能介绍

用途

该技能面向使用 WP-CLI(wp 命令)进行 WordPress 运维工作的场景,包括:

  • wp search-replace(URL 变更、域名迁移、协议切换)
  • 数据库导出/导入、重置与检查(wp db *)
  • 插件/主题的安装、启用、更新及语言包管理
  • cron 事件列出与运行
  • 缓存/重写规则刷新
  • 多站点操作(wp site *、--url、--network)
  • 构建可重复执行的脚本(wp-cli.yml、shell 脚本、CI 任务)

主要能力

技能提供了一套结构化的操作流程,覆盖环境确认、站点定位、工作流选择、自动化模式与验证。具体包括:

  • 安全护栏:在执行任何写入操作前,确认环境(开发/预发布/生产)、确认目标(路径/URL)、对高风险操作进行备份。
  • 站点定位检查:通过脚本 wpcli_inspect.mjs 检查 WP-CLI 可用性与站点定位。
  • 安全 URL/域名迁移:遵循 wp db export(备份)→ wp search-replace --dry-run(审查影响)→ 执行真实替换 → 刷新缓存/重写的顺序。
  • 插件/主题操作:使用 wp plugin * / wp theme *,并先确认目标站点与网络范围。
  • Cron 与队列:检查 cron 状态,针对单个事件进行调试运行,而非盲目全部运行。
  • 多站点操作:明确是在单个站点(--url=)还是网络范围(--network / 遍历站点)执行。
  • 自动化模式:使用 wp-cli.yml 设置默认值(路径/URL、PHP 内存限制),编写记录命令并在出错时停止的 shell 脚本,以及默认执行只读检查的 CI 任务。

使用方式

  1. 确认环境与影响范围:确认是开发、预发布还是生产环境,确认目标路径/URL,对高风险操作进行备份。
  2. 运行检查脚本:node skills/wp-wpcli-and-ops/scripts/wpcli_inspect.mjs --path=<path> [--url=<url>]。若 WP-CLI 不可用,则通过项目文档化的工具(Composer、容器或系统包)安装,或询问预期的执行环境。
  3. 根据任务选择工作流:安全 URL/域名迁移、插件/主题操作、cron 与队列、多站点操作。
  4. 采用自动化模式:使用 wp-cli.yml 设置默认值,编写 shell 脚本记录命令并在出错时停止,CI 任务默认执行只读检查。
  5. 验证:在可能影响定位或配置的更改后重新运行 wpcli_inspect;确认预期副作用(URL 正确更新、插件/主题处于预期状态、cron/缓存已按需刷新);如有健康检查端点或冒烟测试套件,在运维更改后运行。

适用场景

  • WordPress 站点 URL 变更、域名迁移或协议切换
  • 数据库导出、导入、重置与检查
  • 插件、主题、用户与内容的批量管理
  • cron 事件调试与缓存刷新
  • 多站点环境下的站点级或网络级操作
  • 构建可重复的运维脚本与 CI 任务

限制

  • WP-CLI 命令可能具有破坏性,执行写入操作前必须确认环境安全,否则不应运行写入操作。
  • 需要明确 WP-CLI 的运行位置(本地开发、预发布、生产)以及是否安全运行。
  • 需要正确指定站点根目录(--path=<wordpress-root>)以及多站点下的 --url=<site-url>。
  • 需要确认是否为多站点以及命令是否应在网络范围运行。
  • 需要了解任何约束条件(无停机、无数据库写入、维护窗口)。
  • 若无法确认环境安全性,不应执行写入操作。
  • 若仓库使用容器化工具(Docker/wp-env)但无法访问,需询问预期的命令运行器或 CI 任务。
  • 常见失败模式包括:路径错误导致“Error: This does not seem to be a WordPress installation.”、多站点命令影响错误站点、search-replace 导致意外的序列化问题。