今天中午和晚上的时候都收到了 腾讯云 coding 的标准产品下线通知,意思是通知赶紧迁移到其他产品或者付费使用,下线后数据不做任何保留,直接给吓尿了。

先说说是怎么回事把,Coding 是类似于 Github、Gitee 的代码仓库托管产品,是腾讯云旗下的产品,早期我主要拿来用类似于 github pages 的功能,因为是国内产品所以速度比较快吧,后来把自己的一些代码也存放在上面了,中途 Coding 也是升级过一次产品,当时把我两个团队都给分开了,就是账号绑定关联的问题。

现在就直接要下线标准版产品了,主要是白嫖的人太多了?再加上这几年生意不好做,陆陆续续把不赚钱的产品不是关了就是升级付费了。想想最近京东外卖大战,然后又要进群酒店旅游行业,然后不管是美团还是饿了么都在疯狂发券,支付宝 APP 都改了页面,把闪购加入到了里面,真的是各种抢流量,还有就是美团优选好多城市也一夜叫停关闭,种种迹象表面现在生意不好挣啊,这段时间国外以色列、伊朗、美国打仗热火朝天,害,活着真不容易,钱越来越挣了。

说远了,话说回来,现在登录 Coding 你就会收到如下弹窗内容:

尊敬的用户您好!

由于产品业务调整,CODING DevOps 系列产品将计划于以下时间停止相关支持:

1) 标准版产品下线:2025年9月1日;原免费版客户无法使用
2) 所有产品停止新购:2025年9月30日
3) 所有产品停止续订:2026年3月30日
4) 所有产品停止服务:2028年9月30日

若您仍有类似需求,您可以选购我们下一代产品【云原生构建】(https://cnb.cool),能力更强、产品更聚焦于开发者。对于产品业务调整给您带来的不便,我们深表歉意,衷心感谢您对 CODING DevOps 的信赖与支持!

然后点击链接查看具体详情:

2025年9月1号标准版下线后,原标准版用户无法登录,只可购买高级版、旗舰版使用;2025年9月30号高级版、旗舰版停售后,将不可购买。
免费用户可以切换到新一代产品【云原生构建】,产品能力更强、提供更大免费额度。

而这两个版本高级版收费标准:¥599/人/年、旗舰版收费标准:¥2999/人/年,不提供免费白嫖版本了。

所以本文主要指导迁移现有数据到其他平台或者自己下载到本地备份,写本文时作者已迁移完所有数据到了 cnb,后续有时间都直接全部迁移到自建的 Gitea 仓库中了。

前置准备

我是通过一台 ubuntu 22.04 的机器进行迁移的,因为迁移的时候需要 docker 环境,请提前安装。

我是通过 Coding 迁移到 官方推荐的 cnb 中。所以需要提前去 cnb 注册一个账号,并且创建一个根组织,后续迁移原 CODING 项目会在 CNB 中创建一个同名的子组织,并将原项目下的仓库迁移至该子组织下面。

首先到 Coding(https://e.coding.net/user/account/setting/tokens) 上申请一个迁出的 token。仅限团队所有者或团队管理员token才行,权限需要:(用户信息-只读、项目信息-只读、代码仓库-只读

Coding DevOps 系列产品下线,跟我一起迁移吧

然后再去 cnb(https://cnb.cool/profile/token) 中申请一个迁入的 token,个人令牌-访问令牌创建 。需要权限(repo-code 读写、repo-basic-info 只读、account-profile 只读、account-engage 只读、group-resource 读写、group-manage 读写、repo-content 读写

Coding DevOps 系列产品下线,跟我一起迁移吧

开始迁移

准备好了迁入和迁出 token 就可以正式迁移代码了。

执行如下命令:

docker run --rm  \
  -e PLUGIN_SOURCE_TOKEN="迁出 token"  \
  -e PLUGIN_CNB_ROOT_ORGANIZATION="你创建的 cnb 根组织,如 test-group" \
  -e PLUGIN_CNB_TOKEN="迁入 token"  \
  -v $(pwd):$(pwd) -w $(pwd) \
  cnbcool/code-import

直接执行即可,最终日志会打印迁入成功和迁入失败的数量,可以多次执行。

Coding DevOps 系列产品下线,跟我一起迁移吧

如果你需要直接下载到本地的话,只用添加环境变量 -e PLUGIN_MIGRATE_DOWNLOAD_ONLY="true" \,就只会将所有内容下载到本地。

遇到的问题:

  • 如果你 Coding 中仓库的项目描述如果超过 200 个字符会提示 cnb 不支持会直接失败,则需要你先在 Coding 先修改短一点再尝试迁移。
  • 如果你 Coding 中创建的最早的 SVN 仓库,那么不会进行迁移,需要你先手动将 SVN 进行手动转换然后手动导入,不然就是用不了 SVN 的模式了,可以往瞎看我就有一个仓库就是 SVN 托管的手动进行了转换,可以保留记录。

SVN 仓库 转 Git 仓库

  1. 安装必要依赖:

    apt-get install git-core git-svn ruby
  2. 转换 svn 提交者和 git 的邮箱对应信息:

    # 先 svn 方式检出来
    svn checkout [svn 地址]
    # 提取所有提交者的信息
    svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > userinfo.txt
    # 然后手动修改文件userinfo.txt将邮箱对应上
  3. 开始转换分支和 tag 等信息:

    # 开始转换 将svn 根目录转换为分支,如果你是标准的svn 代码托管请使用下面注释的命令
    git svn clone [svn 地址]  --prefix=svn/ --no-metadata --authors-file=userinfo.txt --trunk=/ --tags=tags --branches=branches
    #git svn clone [svn 地址] --prefix=svn/ --no-metadata --authors-file=userinfo.txt --trunk=trunk --tags=tags --branches=branches
    # svn 忽略文件转换为 gitignore
    git svn show-ignore --id=svn/trunk > .gitignore
    git add .gitignore
    git commit -m 'Convert svn:ignore properties to .gitignore.'
    git config --local user.name "lcry"
    git config --local user.name "i@51it.wang"
    git remote add origin [新 git 仓库地址]
    git push --set-upstream origin main

    git svn clone: 这是 Git 的一个命令,用于从 SVN 仓库克隆代码。

    ["SVN repo URL"]: 这是你要克隆的 SVN 仓库的 URL。需要用实际的 SVN 地址替换这个占位符。

    --prefix=svn/: 设置在 Git 仓库中,SVN 的分支和标签前缀。这里设置为 svn/,表示 Git 中的分支和标签将以 svn/ 开头。

    --no-metadata: 这个选项会使得 Git 不在提交信息中包含 SVN 的元数据。

    --authors-file=userinfo.txt: 指定一个文件(userinfo.txt),该文件包含 SVN 用户与 Git 用户之间的映射,以确保提交记录中的作者信息正确。

    --trunk=trunk: 指定 SVN 仓库中主干代码的位置。在这里,主干代码在 trunk 目录中。

    --tags=tags: 指定 SVN 仓库中标签的位置。在这里,标签在 tags 目录中。

    --branches=branches: 指定 SVN 仓库中分支的位置。在这里,分支在 branches 目录中。

  4. 最后查看新仓库 main 分支是否是最新内容,提交记录保留则迁移成功,如果失败可以看下本文参考链接对照一下。

总结

本文通过实战将即将下线的 Coding DevOps 的所有数据迁移到 cnb 云原生构建中。文章大部分来自官方 FAQ,如果你还需要迁移制品仓库以及项目文档,可以参考官方文档,本文同时讲解了 SVN 仓库转换为 Git 仓库,现在代码托管很少有用 SVN 的了,希望本文能给大家一些帮助。

有时候真的觉得免费的才是最贵的!

附:CODING DevOps 系列产品下线公告

尊敬的用户您好:

由于产品业务调整,【CODING DevOps】系列产品将计划于以下时间停止相关支持:

CODING官网暂停新团队注册与创建:2025年7月1日(已有团队邀请成员功能不变)
标准版产品下线:2025年9月1日;原免费版客户无法使用,订购方案调整
所有产品停止新购:2025年9月30日
所有产品停止续购:2026年3月30日
所有产品停止服务:2028年9月30日
为确保您的使用权益和资产数据安全,请及时关注并处理。

若您仍有类似需求,可选购我们下一代产品【云原生构建】(简称 CNB),能力更强、产品更聚焦于开发者。

CNB官方示例
CNB帮助文档
CNB迁移工具
如有疑问,请联系我们。

FAQ
订购方案如何调整,调整后的两种套餐方案有什么区别?
新版订购方案取消原标准版套餐,下线部分功能(制品安全扫描、测试管理、测试协同、仪表盘、研发度量),新注册团队用户界面无持续部署、应用管理功能;其中仪表盘和研发度量可移步到效能洞察功能中,其他暂无替代功能。
调整后的高级版、旗舰版套餐,简单来说,额度容量不一样,订购方案详情请参考CODING DevOps价格页面 。

CODING DevOps 标准版下线后,只能付费使用吗?
2025年9月1号标准版下线后,原标准版用户无法登录,只可购买高级版、旗舰版使用;2025年9月30号高级版、旗舰版停售后,将不可购买。
免费用户可以切换到新一代产品【云原生构建】,产品能力更强、提供更大免费额度。

付费用户停止续费后,是否可以增加/降低档位?
服务期间,高级版、旗舰版用户可根据实际人数调整档位;同时CODING DevOps系列产品计划于2028年9月30日全面停止服务,建议您的续费周期不要超过该时间点并及时迁移数据。

新产品CNB有哪些能力, CODING 的数据是否可以迁移过去?
CNB产品信息

地址:https://cnb.cool/
与CODING区别详情可参考:https://mp.weixin.qq.com/s/3QoeXyRilzFJ8mry55ctDA
官方示例:https://cnb.cool/examples/showcase
帮助文档:https://docs.cnb.cool/zh/
迁移指导

CNB负责开发域相关的能力,比如代码、制品、CICD,云原生开发等;TAPD负责协同管理,比如项目协同、测试管理、文档管理等;CNB(开发域发力)和CODING(一站式)有着不同设计理念和底层架构,所以没办法做到平滑迁移,其中代码,制品,项目协同支持迁移,其他暂不支持。

代码迁移工具:https://cnb.cool/cnb/plugins/cnbcool/code-import
制品迁移工具:https://cnb.cool/cnb/plugins/cnbcool/artifact-migrate
项目协同迁移到Tapd:https://cnb.cool/CODING/tool/migrate-collaboration-tapd
CODING DevOps 下线后数据如何导出或者怎样保存?
产品下线后数据将会被物理清除掉,不可恢复,请及时妥善的处理这些功能,保证您的资产数据安全。建议标准版用户2025年9月1前完成迁移、付费版用户2028年9月30日前完成数据迁移。

参考链接

CODING DevOps 系列产品下线公告

云原生构建 cnb 官网

CNB Code Import(CNB代码仓库批量迁移工具)

CNB Artifact Migrate(CNB制品迁移工具)

项目协同迁移工具

从SVN完美迁移到Git,我只用了5分钟

了解如何从 Subversion (SVN) 迁移到 Git(包括历史记录)

Steps to migrate from SVN to GitLab

svn2git 开源项目仓库

svn仓库转换为git仓库

文章目录