跳转到正文

创建

从主机创建

命令行
wp rudel create --name=alpha --theme=twentytwentyfour

Rudel 会根据名称生成一个 ID,并附加四个十六进制字符(例如 alpha-3be7),将主机的 WordPress 数据表克隆到生成的表前缀下,将所选主题复制到沙盒目录,并在主机的 WordPress 数据库中记录该沙盒。沙盒的 siteurl 和 home 会保留主机的 URL。

如果省略 --theme,Rudel 会使用主机站点当前启用的主题。该主题必须已安装在主机上。子主题会连同其父主题一起复制。

主机表前缀下的所有数据表都会被复制,包括 users 和 usermeta,但 Rudel 自身的数据表除外。在当前版本中,这也包括已有沙盒的数据表,因此每个新沙盒都会比上一个更大。参见 问题 #3。

从另一个沙盒创建

命令行
wp rudel create --name=feature-b --clone-from=alpha-3be7

新沙盒会复制源沙盒前缀下的每个数据表(包括源沙盒的快照表)以及其主题。快照目录不会复制,因此这些数据表在新沙盒中不会使用(问题 #12)。如果源主题目录是一个 Git 仓库,Rudel 会在分支 rudel/{new-id} 上创建关联工作树,而不是普通副本。源 ID 会记录在新记录中。

生命周期元数据

沙盒可以携带用于清理和归属管理的元数据:

命令行
wp rudel create \
  --name=feature-a \
  --owner=dennis \
  --labels=agent,qa \
  --purpose="Test checkout changes" \
  --ttl-days=7

如果自动清理不得移除该沙盒,请使用 --protected。参见 策略。

限制

达到 max_sandboxes 或 max_disk_mb 设置时,创建会失败。两者默认均为 0,表示不设限制。参见 配置。

Git 检出

命令行
wp rudel create --name=feature-a --git=https://example.test/my-theme.git

Rudel 会创建沙盒,将远程仓库克隆到沙盒目录中的 themes/my-theme,并将检出切换到分支 rudel/{id}。添加 --type=plugin 可改为克隆到 plugins/my-theme。克隆失败时,沙盒仍会保留,并会打印警告。有关沙盒从该检出提供的内容,请参见 Git。

目录布局

Text
wp-content/rudel-environments/{id}/
  themes/       copied theme, plus any Git checkout
  snapshots/    snapshot metadata and theme copies
  logs/ metadata/ tmp/
  wp-cli.yml
  debug.log     when debug logging is active