Codeup-CLI 工具支持批量迁移本地已有代码库 Git 数据,降低迁移对企业业务的影响。
一、前提条件
请确认工具已安装并运行正常,参见安装本地迁移工具。
二、迁移准备
本工具可以帮助你进行本地代码库 Git 数据的批量迁移,包括源代码、分支、提交、标签信息。
在正式迁移生产库前,建议使用非正式库进行试迁移,保障配置正确后正式迁移;
在迁移操作时建议控制本地代码库的库变更和写入行为,一旦仓库迁移成功后,重复迁移不会刷新变更的代码数据,即本地库的新增内容不会更新至 Codeup;
三、定义迁移配置文件
现在我们开始迁移,请输入以下命令,初始化本次迁移所需的配置文件:
./codeup-cli init
此时可以看到配置文件初始化成功的提示:
demo:workspace my$ ./codeup-cli init
【提示】 配置文件路径:/Users/my/config.yaml
【成功】 初始化 config.yaml 成功,路径地址为:/Users/my/config.yaml,请按照帮助文档正确填写配置。
接着根据提示的路径,打开这个 config.yaml 文件,开始填写源和目标平台的配置参数,用于代码库拉取和导入。
配置文件字段说明
本地已有仓库迁移在 config.yaml 模板中的 source - 源平台参数配置仅需填写 platform 字段,其他字段请自行删除:
source - 源平台参数配置 | 是否必填 | 参数说明 |
platform | 必填 | 请填写 "local" |
apiEndpoint | 暂无 | 系统预留字段 |
host | 暂无 | 系统预留字段 |
accessToken | 暂无 | 系统预留字段 |
username/password | 暂无 | 系统预留字段 |
accessKey | 暂无 | 系统预留字段 |
secretKey | 暂无 | 系统预留字段 |
orgID | 暂无 | 系统预留字段 |
localSSHKeyPath | 暂无 | 系统预留字段 |
asMember | 暂无 | 系统预留字段 |
target - 目标平台参数配置 | 是否必填 | 参数说明 |
platform | 必填 | codeup (初始化已配置,请勿修改) |
apiEndpoint | 必填 | devops.cn-hangzhou.aliyuncs.com(初始化已配置,请勿修改) |
host | 必填 | codeup.aliyun.com(初始化已配置,请勿修改) |
accessToken | 必填 | 阿里云主账号在 Codeup 的个人访问令牌,需勾选授予权限 write:repo |
username | 如用HTTP克隆必填 | Codeup 可用于HTTP克隆的用户名 |
password | 如用HTTP克隆必填 | Codeup 可用于HTTP克隆的密码 |
accessKey | 必填 | 阿里云的主账号(同时需要作为Codeup目标企业的拥有者)AK (AccessKey ID)参见如何获取 |
secretKey | 必填 | 阿里云的主账号(同时需要作为Codeup目标企业的拥有者)SK(AccessKey Secret)参见如何获取 |
orgID | 必填 | 期望迁移到的 Codeup 企业ID,可在云效企业管理后台查看 |
localSSHKeyPath | 如用SSH克隆必填 | Codeup 已配置的 SSH key 对应的本地私钥 key 路径,注意需填写完整路径,如 /Users/my/.ssh/id_rsa。 具体路径请根据实际本机私钥存放路径填写。 |
以 SSH 方式为例,最简的配置文件内容为:
import:
source:
platform: local
target:
platform: codeup
apiEndpoint: devops.cn-hangzhou.aliyuncs.com
accessToken: xxxxx
host: codeup.aliyun.com
accessKey: xxxxx
secretKey: xxxxx
orgID: xxxxx
localSSHKeyPath: /Users/my/.ssh/id_rsa
projectlistpath: projects.csv
workdir: /Users/my/workspace
其中:
projectlistpath
指定步骤四里迁移库范围文件路径;
workdir
指定迁移的工作目录路径,迁移完成后将自动清理目录;
四、定义迁移代码库范围
你需要告知迁移工具要迁移的代码库列表范围,这需要一个配置文件。
可以通过以下命令,生成迁移库范围的配置文件,文件需要和步骤三中 projectlistpath
指定路径一致:
./codeup-cli import --gen project
命令执行完成后会在当前目录下生成一个 projects.csv 的配置文件,打开文件,其内容格式是每一行都是[本地仓库绝对路径],[Codeup代码库相对路径],[Codeup代码库可见性],例如:
#本地仓库绝对路径,Codeup代码库相对路径,Codeup代码库可见性
/Users/my/Downloads/groupname/demo,groupname/demo,10
其中代码库可见性 0 表示公开性为「私有」,10 表示公开性为「企业内公开」。若自定义时输入任意非 0 的数字将被自动转换为 10,即企业内公开。
至此,你明确了迁移的代码库范围。
五、执行迁移
即将大功告成,请确认目前工作目录下2个配置文件(迁移配置文件、代码库范围文件)和存放代码库的文件夹(例如自定义的“repo”)已准备完毕:
通过以下命令启动执行迁移:
./codeup-cli import --run true
# 迁移过程中会展示迁移的细节,如果有问题会显示报错信息
如 Git 数据迁移失败,该库状态为迁移失败;
若重复执行导入,历史已导入成功的代码库将提示已存在跳过执行,未导入成功的代码库可继续尝试导入;
工具执行完后,如果一切正常,你便可以前往 Codeup 企业查看已迁移的代码库信息,确认迁移无误。
恭喜你,至此已经完成了本地代码库数据的迁移工作,在云效 Codeup 上立即开始托管体验吧!
迁移过程中遇到无法处理的问题,请添加钉钉群咨询技术支持:32027065。