185-6196-3972
软件定制微信/小程序开发大型电商平台开发数据挖掘

房地产行业教育行业分销行业OA系统智能物联网物业管理系统医疗行业物流行业CRM系统MES系统数据可视化美业管理系统

185-6196-3972
软件定制微信/小程序开发大型电商平台开发数据挖掘

房地产行业教育行业分销行业OA系统智能物联网物业管理系统医疗行业物流行业CRM系统MES系统数据可视化美业管理系统

中国技术领先的互联网+服务提供商

我们致力于用最好的用户体验及科技实力保障项目质量,用创新变革带来更好的产品服务体验

首页 > 动态

软件开发的关键流程即将发生巨变!!

青岛郅貹科技 - 日期:2022-11-08
持续集成(CI)是指开发人员会定期将代码变更合并到一个中央存储库中,之后系统会自动运行构建和测试操作,通过频繁地集成,达到控制代码质量的目的。

经过几十年的发展,持续集成已经成为软件开发的标准配置,为开发人员所熟知,如今,不使用持续集成的软件公司是不可思议的。

在持续集成的工具链中,Jenkins 起步较早,积累深厚,凭借良好的生态,丰富的插件,被广泛使用。

但是进入云原生时代以后,应用程序的部署和基础设施都发生了重大的变化,Jenkins并没有跟上脚步,反而暴露出了一些问题,例如流水线编排引擎不够稳定,并发性能差,开发插件很麻烦等等。

那么在云原生时代,持续集成应该是什么样子呢?

上周末我参加了 TechoDay 腾讯技术开放日第二期活动,这一期主题是 云原生全栈开发与实践,其中有一场正好是云原生时代的持续集成,讲了腾讯云CODING CI 3.0 ,看完以后感觉到:这也许就是未来的发展方向吧,今天给大家分享一下。

1.Pipline as Code

云原生提倡“基础设施即代码 (Infrastructure as Code)”,即通过代码来定义基础设施,并且被版本管理系统所管理,对应到持续集成中,即 Pipline as Code。

大家都知道,持续集成中的 Pipline 是一系列任务的编排,例如:


图形化的背后是配置文件(以Jenkins为例):

这种方式有两个缺点:

1. 它偏向命令式,需要精确告知 Jenkins 操作的每个步骤,编写、维护并不方便。

2. 它被Jenkins管理,不方便配置复用

腾讯云CODING CI 3.0 则通过简单的 YAML 文件解决了这两个问题。

这段示例的意思一看就明白:当 master 分支有 push 的时候,触发一次构建,构建在 centos:8 这个 Docker 容器中进行,只输出一个文本:hello world。

纯文本的、声明式的配置文件,无论是在可读性/可维护性,都要比命令式的代码清爽得多。

并且这种文件可以保存到代码仓库中,不但方便版本管理,也容易让不同项目和团队之间进行复用。

2基于容器的CI设计

在上面的示例中已经提到了在 Docker 容器,实际上,腾讯云CODING CI 3.0 是完全基于容器设计的。

这是什么意思呢?举个简单的例子就明白了。

假设你的CI Pipeline有两个任务,一个做编译,一个做测试,那在Pipeline执行过程中会把代码从代码仓库下载到某个目录,然后把这个目录挂载在一个docker容器来做编译,再挂载到另外一个docker容器做测试。

上一篇:小程序开发怎么操作,不懂技术可以开发吗? 下一篇:没有了
咨询热线:185-6196-3972

推荐阅读

软件定制开发项目招标过程包括下列步骤08-05青岛APP开发的成本你算过吗?07-31APP定制与微信小程序的优缺点比较08-01软件产品开发管理的四个方面08-03青岛APP开发前需要做哪些规划?08-02商城网站制作需要具备哪些优点?08-06

提交需求,获取工期与报价

立即咨询