Coding 要收费了
今天登录Coding,准备找找以前的工程,有一个消息弹窗一下子吸引了我:截图没了,大概意思是:2025年9月1日,基础版服务取消,点开详情一看,这不扯犊子了吗,用了这么多年的免费仓库,不给用了?
看一下了解详情,9月1日之后,不付费真不给用了,而且以前的免费用户限制登录了。
3. **2025.9.1日后,原标准版用户是否可以继续登录?**
不可以的。新版订购方案生效后,原标准版用户无法登录,只能付费升级到高级版或旗舰版。
幸好也给了解决方案,可以切换到新产品:云原生构建(Cloud Native Build,简称 CNB),免费容量更大,没有功能限制。
2. **新版订购方案生效后,CODING 是否取消了免费版本-标准版,只能付费使用?**
是的。新版订购方案取消了标准版,只能付费使用,免费用户可以切换到新产品:云原生构建(Cloud Native Build,简称 CNB),免费容量更大,没有功能限制。
> 新产品(云原生构建)入口信息
- 地址:<https://cnb.cool/>
- 信息差介绍:<https://mp.weixin.qq.com/s/3QoeXyRilzFJ8mry55ctDA>
- 官方示例:<https://cnb.cool/examples/showcase>
- 帮助文档:<https://docs.cnb.cool/zh/>
那能怎么办呢, 白嫖的用户,只能多动手,该转移就转移。
仓库转移
按照官方的代码转移介绍
6. **切换到新产品云原生构建(Cloud Native Build,简称 CNB)之后, CODING 的数据是否可以迁移过去?**
部分可迁移。「云原生构建」是新一代生产力工具,与原 CODING 有着不同的设计理念和架构升级,所以目前只有代码仓库和项目协同的数据可以迁移。
- 代码仓库迁移: https://cnb.cool/cnb/plugins/cnbcool/code-import
- 项目协同: https://cnb.cool/CODING/tool/migrate-collaboration
打开代码仓库迁移,这是啥玩意,有源码,有命令,但是不知道怎么用。。。。。。。😭。。。。。。
还是借助deepseek帮助,然后一个一个尝试,算是成功了。
重要提示
:CNB仓库单个文件限制100M。 目前没找到有设置文件大小限制的地方。
对我个人来讲,TMD,我的工程引用的第三方。一个文件有超过500M的(穿山甲广告的SDK,用过的都会感叹一句wc),怎么办?
暂时只能被动接受。。。
look in my eyes,tall me why?baby,why?
1、完善CNB
1、微信扫码登录:正常微信扫码登录即可
2、创建组织: 所有的仓库都依赖组织,所以需要先创建组织, 创建组织的过程中,还需要实名认证,按照提示,微信扫码即可。
2、使用docker
下载docker
去官方下载docker,安装的时候,按默认设置即可。
下载镜像
搜索cnb的docker镜像 cnbcool/code-import
先pull下来,然后run
此时准备工作已完成
转移前配置
根据官方介绍,持CODING、Github、Gitlab、Gitee、阿里云以及通用第三方代码托管平台的代码仓库批量导入至CNB,但是前期大多数都是从Coding转移过来,不然其他平台用的好好的,谁会闲着🥚疼把仓库往其他平台转?
这里以Coding为例:
此时,可以将这个命令复制到记事本上,接下来配置一个参数,就可以改一个参数。
docker run --rm \
-e PLUGIN_SOURCE_TOKEN="xxx" \
-e PLUGIN_SOURCE_URL="https://coding.example.com" \
-e PLUGIN_CNB_ROOT_ORGANIZATION="xxx" \
-e PLUGIN_CNB_TOKEN="xxx" \
-v $(pwd):$(pwd) -w $(pwd) \
cnbcool/code-import
需要的参数如下,其他平台的参数在底部也有详细描述:
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
PLUGIN_SOURCE_URL | 字符串 | 是 | - | 代码托管平台URL |
PLUGIN_MIGRATE_USE_LFS_MIGRATE | 字符串 | 否 | false | 是否使用lfs migrate处理历史提交中超过CNB单文件最大限制错误 ⚠️如开启该配置,迁移后commit ID会与源仓库不一致 |
PLUGIN_SOURCE_TOKEN | 字符串 | 是 | - | 调用源代码托管平台 API 的 token - CODING权限:用户信息-只读、项目信息-只读、代码仓库-只读 |
PLUGIN_CNB_ROOT_ORGANIZATION | 字符串 | 是 | - | 迁移后,CNB对应的根组织名称,请确保根组织已提前创建 |
PLUGIN_CNB_TOKEN | 字符串 | 是 | - | CNB 授权令牌,权限要求: - repo-code 读写 - repo-basic-info 只读 - account-profile 只读 - account-engage 只读 - group-resource 读写 - group-manage 读写 - repo-content 读写 |
PLUGIN_SOURCE_URL:
代码托管平台的url,也就是你的Coding主页地址,截止到coding.net为止
复制coding的主页地址,截止到。net, 比如*www.xxx.coding.net*, 将其替换到PLUGIN_SOURCE_URL项上
PLUGIN_SOURCE_TOKEN:
coding的访问令牌
在新建令牌的时候,注意权限选择,需要:用户信息-只读、项目信息-只读、代码仓库-只读
创建好之后,将令牌复制,替换到刚才保存到记事本的命令的PLUGIN_SOURCE_TOKEN项
PLUGIN_CNB_ROOT_ORGANIZATION:
CNB平台上的组织名称:
创建好的组织名称,将其复制,替换到刚才保存到记事本的命令的PLUGIN_CNB_ROOT_ORGANIZATION项
PLUGIN_CNB_TOKEN:
CNB上的令牌,
注意创建过程中,设置相应的权限:
CNB 授权令牌,权限要求:
- repo-code 读写
- repo-basic-info 只读
- account-profile 只读
- account-engage 只读
- group-resource 读写
- group-manage 读写
- repo-content 读写
创建完成,保存CNB的令牌,将其复制,替换到刚才保存到记事本的命令的PLUGIN_CNB_TOKEN项
好了,此时需要的配置信息就配置完成
docker run --rm \
-e PLUGIN_SOURCE_TOKEN="Coding平台上配置的令牌" \
-e PLUGIN_SOURCE_URL="coding的主页url,比如https://xxxx.coding.net" \
-e PLUGIN_CNB_ROOT_ORGANIZATION="CNB组织名称" \
-e PLUGIN_CNB_TOKEN="CNB口令" \
-v $(pwd):$(pwd) -w $(pwd) \
cnbcool/code-import
转移
上一步中,将所有的参数项都替换完成之后,将其复制。切换到Docker,
在命令行中输入之前的命令行,等待即可。
异常处理
1、超大文件
我在执行转移命令时,只遇到一个问题: 项目中的单个文件过大(超过100M),被跳过转移了。
如果工程中确实存在大文件,而且依然想转移的,查看官方介绍底部的参数,可在命令中加入PLUGIN_MIGRATE_USE_LFS_MIGRATE
,完整命令为:
docker run --rm \
-e PLUGIN_SOURCE_TOKEN="Coding平台上配置的令牌" \
-e PLUGIN_SOURCE_URL="coding的主页url,比如https://xxxx.coding.net" \
-e PLUGIN_CNB_ROOT_ORGANIZATION="CNB组织名称" \
-e PLUGIN_CNB_TOKEN="CNB口令" \
-e PLUGIN_MIGRATE_USE_LFS_MIGRATE=true \
-v $(pwd):$(pwd) -w $(pwd) \
cnbcool/code-import
2、第一次同步失败,第二次直接跳过
因为第一次同步时,有一些大文件的问题,导致同步失败,第二次加PLUGIN_MIGRATE_USE_LFS_MIGRATE之后继续同步,之前同步异常的项目直接跳过, 此时可以根据情况,
-
1、如果大部分仓库已经同步成功,只有少量的同步失败,可以在CNB里面将同步失败的仓库删掉,重新同步。
-
2、如果之后少量同步成功,大多数仓库都同步失败,可以在命令中加入
PLUGIN_MIGRATE_SKIP_EXISTS_REPO=false