跳到主要内容

备份与导出

定期备份 PlayCanvas 项目,可以防范误删、恶意操作和数据丢失。本节介绍可用的备份与恢复方式。

为什么需要备份?​

定期备份可以应对:

  • 误删资源或场景。
  • 团队成员恶意操作。
  • 账户安全问题。
  • 数据损坏或技术故障。
  • 导致项目损坏的开发错误。

备份方法​

1. Fork​

最简单的方法是 Fork 自己的项目,具体步骤见前文。

2. 从项目控制台导出​

导出文件可离线保存,并在之后重新导入,作为完整项目备份。

导出项目

操作步骤:

  1. 打开 playcanvas.com/editor 的项目控制台。
  2. 打开项目 ⋮ 菜单。
  3. 选择 Export。
  4. 等待控制台显示 Exporting <项目名称>... 并生成归档。
  5. 就绪后,在新标签页下载 ZIP。
危险

导出不包含:

  • 版本控制历史。
  • main 以外的分支。
  • 项目开发日志。

3. 通过 REST API 导出​

自动化和高级备份可使用 PlayCanvas REST API。

API 优势​

  • 自动备份:配置定时脚本。
  • 选择分支:指定导出分支。
  • CI 集成:纳入持续集成。
  • 批量操作:通过程序备份多个项目。

使用 API​

项目导出 API支持:

# Export a project via REST API
curl -H "Authorization: Bearer {accessToken}" \
-H "Content-Type: application/json" \
-X POST \
-d '{"branch_id": "99999999-9999-9999-9999-999999999999"}' \
"https://playcanvas.com/api/projects/{projectId}/export"

自动化工具​

PlayCanvas 提供开源 Node.js 工具,简化自动备份:

  • 便于脚本使用的命令行界面。
  • 支持多个项目。
  • 可配置定时计划。
  • 集成云存储。

恢复项目​

从导出文件恢复​

导入项目

操作步骤:

  1. 打开项目控制台。
  2. 侧栏选择 Import project。
  3. 选择导出的 .zip。
  4. 等待上传和导入。
  5. 完成后选择 Open project。如果导入时需要调整材质等内容,对话框会列出。

恢复注意事项​

  • 创建全新项目。
  • 原项目不变。
  • 需要重新添加团队成员。
  • 设置可能需要重新配置。
  • 不恢复版本历史。

从 Fork 恢复​

Fork 是独立项目,因此恢复通常意味着:

  1. 打开 Fork 的备份项目。
  2. 手动将变化的资源复制回原项目。
  3. 或直接将 Fork 作为新的主项目。
  4. 按需更新团队权限与设置。

备份策略​

定期计划​

建立稳定备份习惯:

📅 每日备份,适合活跃开发:

  • 重大修改前 Fork。
  • 关键里程碑创建导出。

📅 每周备份,适合持续开发:

  • 完整导出项目。
  • 定期测试恢复。

📆 每月备份,适合稳定项目:

  • 完整导出并附文档。
  • 规划长期保存。

备份存储​

安全保存备份:

本地存储:

  • 外置硬盘或 NAS。
  • 加密备份盘。
  • 定期验证完整性。

云存储:

  • Google Drive、Dropbox 或 OneDrive。
  • AWS S3 等云存储。
  • 带版本控制的备份仓库。

分布式存储:

  • 多个备份位置。
  • 团队共享备份。
  • 异地存放用于灾难恢复。

高级备份方式​

配合版本控制​

与版本控制流程配合:

  • 分支备份:分别导出不同分支。
  • 版本备份:每个稳定版本导出。
  • 功能备份:合并重要功能前备份。

自动化流程​

配置自动备份系统:

持续集成:

  • 特定事件触发。
  • 集成 GitHub Actions 等服务。
  • 自动验证和测试备份。

定时脚本:

  • 通过 REST API 每日或每周备份。
  • 集成云存储。
  • 轮换和清理旧备份。

团队协调​

团队项目应考虑:

  • 专人负责:明确备份职责。
  • 共享位置:团队可访问的备份存储。
  • 备份验证:定期恢复测试。
  • 文档:明确备份和恢复步骤。

恢复规划​

灾难恢复​

为最坏情况准备:

  1. 关键资源:确定必须保留的内容。
  2. 恢复时间目标:需要多快恢复。
  3. 恢复点目标:最多允许丢失多少数据。
  4. 沟通计划:如何通知团队。
  5. 替代流程:临时开发办法。

测试恢复​

定期测试:

  • 部分恢复:单个资源。
  • 完整恢复:整个项目。
  • 团队培训:确保理解步骤。
  • 更新文档:保持恢复流程最新。
注意

未经测试的备份并不可靠。定期测试,才能确认真正需要时可以恢复。