数据迁移指南
本文档提供从老版本 CloudStudio 迁移到新版本的简单操作指南,包含两种主要迁移方式,帮助用户快速完成数据迁移。
一、迁移概述
(一)迁移目的
将老版本 CloudStudio 中的项目代码、配置文件等数据迁移到新版本平台。
(二)支持的迁移方式
本指南提供以下两种迁移方式:
| 迁移方式 | 适用场景 | 操作难度 | 推荐指数 |
|---|---|---|---|
| CNB 代码仓库迁移 | 代码项目,需要版本控制 | 简单 | ⭐⭐⭐⭐⭐ |
| COS 对象存储迁移 | 大文件项目,包含资源文件 | 中等 | ⭐⭐⭐ |
(三)迁移前准备
- 确保网络连接稳定
- 准备新版本 CloudStudio 账号
- 备份重要数据
二、方式一:CNB 代码仓库迁移
(一)适用场景
- 纯代码项目(小于 100MB)
- 需要版本控制
- 团队协作开发
(二)迁移步骤
步骤一:创建 CNB 仓库
-
注册 CNB 账号:访问 https://cnb.cool/ 注册账号

-
创建新仓库:在 CNB 平台创建项目仓库

创建成功后如下图所示:
-
获取访问令牌:
- 点击 访问令牌创建页面,或者在仓库页面中点击跳转链接创建
- 填写访问令牌的各种信息后点击创建,即可获取
Git Username(用户名)和Token(密码)。

步骤二:配置 Git 环境
我们以方式 3 空仓初始化为例进行讲解,其他方式按照每种方式下面的实例代码操作即可
在老版本工作空间终端中执行:
# 初始化 Git 仓库
git init .
# 添加远程仓库(替换为您的仓库地址)
git remote add origin https://cnb.cool/your-username/your-repo.git
# 配置用户信息
git config --local user.name "参考创建好的仓库首页具体name"
git config --local user.email "参考创建好的仓库首页具体email"
git config credential.helper store

步骤三:从老版本导出代码
# 添加所有文件
git add .
# 创建提交
git commit -m "数据迁移:从老版本迁移"
# 推送到远程仓库
git push -u origin master
注意事项:在 push 时会在页面的上方弹出填写 Username 和 Password 的提示,请输入前面创建访问令牌时获取的用户名和密码信息,点击回车即可。
返回如下图所示则表示成功 push 到仓库:

步骤四:验证上传结果
打开刚刚的 CNB 仓库重新刷新页面,如果文件内容与本地一致则表示上传成功:

步骤五:在新版本中克隆项目
在新版本 Cloud Studio 中克隆项目有两种方式,详细创建应用参考应用创建文档中的(二)选择创建方式部分。
如果选择创建一个空的项目则使用
git clone 仓库地址即可。
(四)CNB 迁移高级功能
分支管理
# 1. 创建开发分支
git checkout -b develop
# 2. 推送分支到 CNB
git push -u origin develop
# 3. 查看所有分支
git branch -a
协作开发
# 1. 邀请团队成员到 CNB 项目
# 在 CNB 平台的项目设置中添加协作者
# 2. 团队成员克隆项目
git clone https://cnb.cool/username/your-project.git
# 3. 同步最新代码
git pull origin main
如何在 CNB 项目中添加协作者,如下图所示:
(五)CNB 迁移注意事项
- 确保 CNB 仓库权限设置正确
- 注意敏感信息不要提交到代码仓库
- 使用 .gitignore 文件排除不必要的文件
- 定期备份重要分支和标签
- 遵循团队的代码提交规范
三、方式二:COS 对象存储迁移
(一)COS 迁移概述
腾讯云对象存储(Cloud Object Storage,COS)是一种海量、安全、低成本、高可靠的云存储服务。通过 COS 进行数据迁移适用于大文件、多媒体资源或需要精确控制迁移内容的场景。
COS 服务特点:
- 支持海量数据存储,单文件最大支持 48.82TB
- 提供 99.999999999%(11个9)的数据持久性
- 支持多种存储类型:标准存储、低频存储、归档存储、深度归档存储
- 内置 CDN 加速,全球就近访问
(二)适用场景
- 大文件项目(大于 100MB)
- 包含图片、视频等资源文件
- 需要精确控制迁移内容
(三)迁移步骤
步骤一:准备 COS 环境
- 创建 COS 存储桶:
- 登录 腾讯云 COS 控制台
- 创建存储桶,选择就近地域
- 设置访问权限为"私有读写"
步骤一:准备 COS 环境
首先先开通对象存储 COS 服务
1. 创建 COS 存储桶
登录 腾讯云 COS 控制台,创建存储桶:
- 存储桶名称:全局唯一,建议格式
项目名-appid - 所属地域:选择就近地域,如
ap-beijing、ap-shanghai - 访问权限:建议选择"私有读写"确保数据安全
- 存储类型:迁移场景建议选择"标准存储"




2. 获取访问密钥
- 访问 访问管理控制台
- 获取
SecretId和SecretKey

3. 安装和配置 COSCMD 工具(旧版本操作) 打开需要迁移的工作空间,确定内容后打开终端

需要有 python 环境,如何安装 python 环境
# 1. 下载 & 解压
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
tar -zxvf Python-3.9.7.tgz
cd Python-3.9.7
# 2.编译安装
./configure --prefix=/usr/local/python3
make && make install
# 3.创建软链接
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip
新旧版本同时操作
# 1. 创建并进入虚拟环境
python -m venv myenv
source myenv/bin/activate
# 2. 执行 pip 命令进行安装。
pip3 install coscmd
# 3. 安装完成后,执行以下命令进行更新。
pip3 install coscmd -U
# 4. 首次使用前必须生成配置文件,命令具体格式如下:
coscmd config [OPTION]...<FILE>...
[-h] --help
[-a] <SECRET_ID>
[-s] <SECRET_KEY>
[-t] <TOKEN>
[-b] <BucketName-APPID>
[-r] <REGION> | [-e] <ENDPOINT>
[-m] <MAX_THREAD>
[-p] <PART_SIZE>
[--do-not-use-ssl]
[--anonymous]
说明:其中 "[]" 中的字段为选项, "<>" 的字段为需要填写的参数。
参数配置说明如下:
| 选项 | 参数说明 | 有效值 | 是否必选 |
|---|---|---|---|
-a | 密钥 ID 请前往 API 密钥控制台 获取。 | 字符串 | 是 |
-s | 密钥 Key 请前往 API 密钥控制台 获取。 | 字符串 | 是 |
-t | 临时密钥 token,当使用临时密钥时需要配置,设置 x-cos-security-token 头部。 | 字符串 | 否 |
-b | 指定的存储桶名称,存储桶的命名格式为 BucketName-APPID,请参见 命名规范 。初次配置使用时,您需要在 COS | 控制台创建一个存储桶,用于配置工具。 | 字符串 |
-r | 存储桶所在地域,请参见 地域和访问域名。 | 字符串 | 是 |
-e | 设置请求的 ENDPOINT,设置 ENDPOINT 参数后,REGION 参数会失效。当您使用的是默认域名,则此处配置格式为 cos.<region>.myqcloud.com;当您使用全球加速域名,则配置为 cos.accelerate.myqcloud.com。 | 字符串 | 否 |
-m | 多线程操作的最大线程数(默认为5,范围为1 - 30)。如果上传文件缓慢,可适当调高该值。线程数取决于机器性能,通常情况下设置为30,即可跑满带宽。例如将并发线程调整为30,执行命令为 coscmd config -m 30。 | 数字 | 否 |
-p | 分块操作的单块大小(单位MB,默认为1MB,范围为1 - 1000)。如果上传文件缓慢,可适当调高该值。 | 数字 | 否 |
--do-not-use-ssl | 使用 HTTP 协议,而不使用 HTTPS。 | 字符串 | 否 |
--anonymous | 匿名操作(不携带签名)。 | 字符串 | 否 |
一般情况下仅需填写必填值,config 命令的使用示例如:
coscmd config -a AChT4ThiXAbpBDEFGhT4ThiXAbp**** -s WE54wreefvds3462refgwewe**** -b bucket-1250000000 -r ap-chengdu成功即返回
Created configuration file in b'/root/.cos.conf'
步骤二:将老版本文件上传到 COS
# 上传文件命令格式:
coscmd upload <localpath> <cospath>
# 上传文件夹命令格式:
coscmd upload -r <localpath> <cospath>
注意:请将 "<>" 中的参数替换为您需要上传的本地文件路径(localpath),以及 COS 上存储的路径(cospath)。
举例:将工作空间项目文件夹的 nest-demo 上传到 COS 的 data 目录下。
coscmd upload -r nest-demo data/成功即返回
文件数 files uploaded, 0 files skipped, 0 files failed
步骤三:验证文件是否正确上传到 COS
最后进入到该存储桶验证是否正确

步骤四:在新版本中创建应用
详细创建应用参考应用创建文档中的(二)选择创建方式中的从模版创建部分。
步骤五:将 COS 下载到新版本
# 下载文件命令格式:
coscmd download <cospath> <localpath>
# 下载文件夹命令格式:
coscmd download -r <cospath> <localpath>
注意:请将 "<>" 中的参数替换为您需要下载的 COS 上文件的路径(cospath),以及本地存储路径(localpath)。
举例:下载 COS 上的 nest-demo 文件夹到新版本的根目录,并保持文件名不变。
coscmd download -r nest-demo nest-demo/成功即返回
文件数 files downloaded, 0 files skipped, 0 files failed
步骤五:验证 COS 文件是否正确下载到新版本中

四、常见问题解决
(一)Git 相关问题
| 问题 | 解决方案 |
|---|---|
| 推送失败 | 检查网络连接,确认用户名密码正确 |
| 文件过大 | 使用 .gitignore 排除大文件,改用 COS 方式 |
| 权限错误 | 检查 CNB 仓库权限设置 |
(二)COS 相关问题
| 问题 | 解决方案 |
|---|---|
| coscmd 命令未找到 | 重新安装:pip3 install coscmd |
| 上传失败 | 检查网络连接和访问密钥配置 |
| 下载慢 | 选择就近地域的存储桶 |
五、最佳实践建议
(一)选择建议
- 小型代码项目:优先选择 CNB 方式
- 大型项目或包含资源文件:选择 COS 方式
- 团队协作项目:建议使用 CNB 方式
(二)安全注意事项
- 不要提交敏感信息(密码、密钥等)
- 使用 .gitignore 排除不必要的文件
- 定期更换访问密钥
(三)效率提升
- 提前整理项目文件,删除不需要的内容
- 大文件建议压缩后传输
- 选择网络较好的时间进行迁移
六、技术支持
(一)获取帮助
- 官方文档:https://cloudstudio.net/docs/
- CNB 平台:https://cnb.cool/
- COS 文档:https://cloud.tencent.com/document/product/436
(二)常用命令
Git 命令:
git status # 查看状态
git add . # 添加文件
git commit -m "msg" # 提交
git push # 推送
COS 命令:
coscmd ls # 列出文件
coscmd upload # 上传文件
coscmd download # 下载文件
coscmd info # 查看配置


