前两天CODING DevOps宣布产品下线,建议标准版用户2025年9月1前完成迁移、付费版用户2028年9月30日前完成数据迁移。有点突然,但也不意外,我是接触Coding最早的用户,经常作为学习研究的对象。

https://coding.net/help/docs/admin/pay/price-adjustment.html

一年前,官方推荐的平替https://cnb.cool/就已经在Coding上出现,在代码库模块做些云原生构建相关的尝试。我就预感到他们在探索一种新的构建引擎-云原生构建,毕竟Coding底层引擎是基于Jenkins开发的,有点英雄垂暮的感觉。

另外,在代码分析/扫描,应用管理模块,他们也都在不停的尝试新功能,有些还是Beta版本,但似乎没有清晰的定位。

Coding的下线,某种意义上标志着以“Jenkins”为底层引擎的商业平台已经退出历史舞台。一种新的,基于云原生的构建方式已经逐渐成为市场主流,从最早的GitLab阿里云效华为CodeArts,包括开源Drone, Tekton,都在说明这一切。

如下图,从近三年的调研来看,云原生CI/CD工具有明显增长,jenkins虽然占有率依然很高,多半还是因为免费,遍地的资料和悠久的“使用习惯”。

CODING DevOps的用户怎么办?

打开知乎,就有人提问Coding下线后是否可以迁移到它推荐的【云原生构建】https://cnb.cool/

作为长期研究这些工具的实践者,我感觉有必要写篇文章说说自己的看法,不打广告,只是客观帮大家分析下。

从功能模块上,大致可以分为两大类

管理类

比如,项目协同,测试管理都属于项目管理类,市面上大概有如下产品替代,商业付费类居多。由于Coding本身不是管理类起家,没有绝对的市场地位(不像Jira),所以不会有快速迁移的方案,最多把需求/缺陷尽可能导出来再倒入新平台。

对于标准版(免费)用户,估计这部分比重不是很大。

对于付费用户,官方还有3年的维护支持,可以长远再考虑下,选择一个“稳定的”老牌厂商,管理类业务迁移不是个小事,除了单纯技术问题,还关系到未来企业的管理协同和配套流程。

工程类

工程类主要就围绕“代码”,“制品”,“流水线”,“环境”。由于技术架构和逻辑差异巨大,基本这块没有太好的迁移方案,只能人肉一块一块去梳理,哪些需要哪些可以放弃重新建。

  • • 代码部分:整体可以通过工具迁移,问题不大

  • • 制品部分:整体也可以通过工具迁移保存,主要看制品库的结构,分类和规模

  • • 环境:这个看是腾讯云的,还是coding 私有化部署用的自己的环境,整体问题也不大

  • 流水线:包括持续集成/持续部署/应用管理等和自动化编排有关的,由于依靠coding构建引擎,大概率是要重新编写和组织的。如果准备继续使用Jenkins, 可能工作量相对少点,原有的Jenkinsfile还能用;如果准备放弃jenkinsfile, 那么编排都需要重新组织编写,具体看原有流水线数量规模,标准化规范度而定。

至于这块可以平替的工具平台,要不就是商业全家桶(国内云厂商都有,或者云原生商业平台),要不就是开源工具集合。

  • • 如果选择商业全家桶,除了费用,就需要按照人家的规则去玩,需要点学习成本

  • • 如果开业工具集合,比如继续用Jenkins,我觉得对于小企业,没太多预算的,“gitlab+jenkins+nexus” 三件套也够用,对比迁移学习成本还会低一点。如果放弃jenkins, "gitlab+ nexus/harbor" 组合,也可以,连需求/缺陷管理都包含了。

最后

对于Coding的下线,还是挺惋惜的。从产品的设计和交互逻辑上,体验还是不错的,功能模块也很完整。可能由于底层严重依赖Jenkins做构建,导致在部署上缺乏技术栈的连贯性和统一性,构建和部署就相对比较割裂。

新的【云原生构建】代表了未来的“软件开发工程化”的趋势,一切皆代码!基础设施的迭代升级,使用看似简单,实则工程化的思想越发深厚,同样也要求技术架构和研发人员的工程素养持续提升。

最后想说,企业在选择平台时候,走一步看三步。商业产品都是有自己的生命周期,如何在它结束的时候,企业自己的业务如何快速切换,给自己留点余地,这个是要平台建设者思考的。

本文使用 文章同步助手 同步

CODING DevOps服务下线,受影响企业何去何从?如何进行迁移?的更多相关文章

  1. CODING DevOps 微服务项目实战系列第一课,明天等你

    CODING DevOps 微服务项目实战系列第一课<DevOps 微服务项目实战:DevOps 初体验>将由 CODING DevOps 开发工程师 王宽老师 向大家介绍 DevOps ...

  2. CODING DevOps 微服务项目实战系列第二课来啦!

    近年来,工程项目的结构越来越复杂,需要接入合适的持续集成流水线形式,才能满足更多变的需求,那么如何优雅地使用 CI 能力提升生产效率呢?CODING DevOps 微服务项目实战系列第二课 <D ...

  3. CODING DevOps 微服务项目实战系列最后一课,周四开讲!

    随着软件工程越来越复杂化,如何在 Kubernetes 集群进行灰度发布成为了生产部署的"必修课",而如何实现安全可控.自动化的灰度发布也成为了持续部署重点关注的问题.CODING ...

  4. CODING DevOps 代码质量实战系列第一课:代码规范与 Git Flow

    讲师介绍 杨周 CODING DevOps 架构师 CODING 布道师 连续创业者.DIY/Linux 玩家.知乎小 V,曾在创新工场.百度担任后端开发.十余年一线研发和带队经验,经历了 ToB.T ...

  5. CODING Pages 服务全面升级,更快更稳更可靠!

    尊敬的 CODING 用户: 您好! 由于原上游服务商无法满足 CODING Pages 日益增长的用户量以及访问速度需求,同时提供的 DDoS 解决方案无法支撑大型 DDoS 攻击,给 CODING ...

  6. Facebook再次爆出安全漏洞,9000万用户受影响

    今年上半年开始,美国社交媒体Facebook因数据泄露事件和涉嫌操纵选举等问题频繁接受听证会拷问,然而事情却远没有结束.今年9月Facebook再次爆出安全漏洞,导致9000万用户可能受到影响. 根据 ...

  7. 腾讯云推出一站式 DevOps 解决方案 —— CODING DevOps

    在产业互联网的大背景下,如何将人工智能.大数据等前沿技术与实体产业相结合,推动传统企业转型升级,已经成为每一个企业不得不思考的问题.落后的软件研发能力已经拖慢了中国大量企业的数字化转型进程. 为了满足 ...

  8. CODING DevOps + Nginx-ingress 实现自动化灰度发布

    作者:王炜,CODING DevOps 后端开发工程师,拥有多年研发经验,云原生.DevOps.Kubernetes 资深爱好者,Servicemesher 服务网格中文社区成员.获得 Kuberne ...

  9. CODING DevOps 代码质量实战系列最后一课,周四发车

    随着 ToB(企业服务)的兴起和 ToC(消费互联网)产品进入成熟期,线上故障带来的损失越来越大,代码质量越来越重要,而「质量内建」正是 DevOps 核心理念之一. <DevOps 代码质量实 ...

  10. CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来

    中化信息技术有限公司,简称"中化信息",是世界 500 强企业中国中化控股有限责任公司(简称"中国中化")的全资直属公司,依托于中国中化的信息化建设实践,建立起 ...

随机推荐

  1. access的多个left outer join连接

    虽然你有一万个理由,但是选择ACCESS数据库就是一个不能再蠢的决定. 从AC990账务系统中采集凭证记录,需要做多个左连接.在sql server管理器中执行蛮好,没有问题.可是在程序中就一堆Err ...

  2. HttpClient使用方法总结及工具类封装

    1. 引入httpclient依赖 首先,需要确认项目中是否已引入过httpclient依赖,如果没有引入过,需要在pom.xml中添加以下代码引入httpclient依赖: <dependen ...

  3. pnpm create vite my-react-app --template react-ts

    npm install -D pnpm npm install -D vite pnpm create vite my-react-app --template react-ts npx vite - ...

  4. AQS的release(int)方法底层源码

    一.定义 release(int) 是 AQS(AbstractQueuedSynchronizer)中的一个核心方法,用于在独占模式下释放同步状态.如果释放成功,则会唤醒等待队列中的后继节点,使其有 ...

  5. MySQL 数据库的性能优化方法有哪些?

    MySQL 数据库性能优化是提高数据库响应速度和处理能力的重要手段.性能优化可以从多个层面入手,涵盖数据库设计.查询优化.硬件资源优化.配置调整等方面.以下是 MySQL 数据库常见的性能优化方法: ...

  6. PHP获取下个月今天时间

    获取php下个月当前时间public static function fq_time($time = ""){ if (!$time) $time = time(); $arr = ...

  7. 腾讯云短信发送【java】

    先去官网申请secretId, secretKey,然后创建对应的模板 maven引入包 <dependency> <groupId>com.tencentcloudapi&l ...

  8. AI Agent离我们有多远?认知革命的开始(上篇)

    认知是成本最低的对冲. --张三思维进化论 深夜3点,我与AI Agent的惊人对话 2025年的一个深夜,我习惯性地打开电脑处理一些工作.身为一个从大厂转型的自由职业者,夜晚往往是我效率最高的时段. ...

  9. 遇到的问题之“web container destroy and kill the job.-Web容器销毁和终止作业”

    一.问题 JobThread toStop, stopReason:web container destroy and kill the job. 2023-11-22 18:10:10 [com.x ...

  10. 炸裂!Spring AI 1.0 正式发布,让 Java 再次伟大!

    炸裂,炸裂,炸裂!从第一次提交代码到现在,经过 2 年的沉淀,Spring AI 框架的第一个正式版本 1.0 终于发布了. 有了这玩意,开发 AI 应用就是洒洒水的事,Java 开发者们是不是又爽了 ...