跳到主要内容

数据迁移指南

本文档提供从老版本 CloudStudio 迁移到新版本的简单操作指南,包含两种主要迁移方式,帮助用户快速完成数据迁移。


一、迁移概述

(一)迁移目的

将老版本 CloudStudio 中的项目代码、配置文件等数据迁移到新版本平台。

(二)支持的迁移方式

本指南提供以下两种迁移方式:

迁移方式适用场景操作难度推荐指数
CNB 代码仓库迁移代码项目,需要版本控制简单⭐⭐⭐⭐⭐
COS 对象存储迁移大文件项目,包含资源文件中等⭐⭐⭐

(三)迁移前准备

  • 确保网络连接稳定
  • 准备新版本 CloudStudio 账号
  • 备份重要数据

二、方式一:CNB 代码仓库迁移

(一)适用场景

  • 纯代码项目(小于 100MB)
  • 需要版本控制
  • 团队协作开发

(二)迁移步骤

步骤一:创建 CNB 仓库

  1. 注册 CNB 账号:访问 https://cnb.cool/ 注册账号

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

创建成功后如下图所示:

  1. 获取访问令牌

    • 点击 访问令牌创建页面,或者在仓库页面中点击跳转链接创建
    • 填写访问令牌的各种信息后点击创建,即可获取 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 环境

  1. 创建 COS 存储桶

步骤一:准备 COS 环境

首先先开通对象存储 COS 服务

1. 创建 COS 存储桶

登录 腾讯云 COS 控制台,创建存储桶:

  • 存储桶名称:全局唯一,建议格式 项目名-appid
  • 所属地域:选择就近地域,如 ap-beijingap-shanghai
  • 访问权限:建议选择"私有读写"确保数据安全
  • 存储类型:迁移场景建议选择"标准存储"

2. 获取访问密钥

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 排除不必要的文件
  • 定期更换访问密钥

(三)效率提升

  • 提前整理项目文件,删除不需要的内容
  • 大文件建议压缩后传输
  • 选择网络较好的时间进行迁移

六、技术支持

(一)获取帮助

(二)常用命令

Git 命令

git status          # 查看状态
git add . # 添加文件
git commit -m "msg" # 提交
git push # 推送

COS 命令

coscmd ls           # 列出文件
coscmd upload # 上传文件
coscmd download # 下载文件
coscmd info # 查看配置