无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻 > 公司新闻 >

以review 系统软件为关键的新1代不断集成化

时间:2021-01-20 08:14来源:个人博客注册免费 作者:jianzhan 点击:
以review 系统软件为关键的新1代不断集成化现阶段的 CI 是以 CI 服务器为管理中心。CI 服务器负责发现修改并开启每日任务。新1代的 CI 则是以编码 review 系统软件为关键,这样能够确保在

以review 系统软件为关键的新1代不断集成化


以review 系统软件为关键的新1代不断集成化 现阶段的 CI 是以 CI 服务器为管理中心。CI 服务器负责发现修改并开启每日任务。新1代的 CI 则是以编码 review 系统软件为关键,这样能够确保在修改合拼到版本号管理方法系统软件以前进行相应的实际操作。

传统式的不断集成化(CI)系统软件被设计方案成工作的流水线。你能够有1个同行业评审,随后刚开始搭建工作,随后是模块检测工作,随后是集成化检测工作,随后是特性检测工作,诸这般类。

每一个工作全是由前1个工作的取得成功进行恶性事件开启的,而第1个工作则是由版本号操纵系统软件中源码文档的变动恶性事件来开启的。自然,假如你的总体目标是好几个2进制服务平台,或假如你正在搭建的是1组组件,以此来检测全部的运用程序流程,那末它还会更为的繁杂。

那末假如有每日任务不成功了会如何?Jez Humble 和 David Farley 在不断交货中觉得,你最先必须遵照这样的标准:"不必在不成功的 build 上递交编码"。换句话说,不必因为新的递交致使难题更比较严重。假如你违背了这个标准,你就无法确定引发不正确的真实缘故。Humble 和 Farley 提议挑选下面两种对策之1来解决 build 不成功的状况:

"当 build 不成功是,不必去做其他事儿," 意思是精英团队中的全部人都要停下来去修补这个难题。

"時刻提前准备回退到上1版本号。" 回退的对策能够防止打断全部精英团队的工作中。

自然,还可以选用混和的对策:在可容忍的時间内尝试修补,超出時间则开展回退。

也有1种方法能够略微减缓难题,那便是应用集成化支系,仅有集成化支系是翠绿色的(全部检测根据),才容许开展编码的合拼。这类对策下集成化支系還是有一样的难题,但是 master 支系能够确保一直能用的。

相近的方法可用于小精英团队,你可让精英团队的全部组员都中止编码的递交,但是即便是小精英团队,CI 处在鲜红色情况也是有将会会不断较为长的時间。针对这类方法的 CI 实践活动,你必须严苛遵照健全的要求。但是你还可以尝试1种新的执行 CI 的方法。

新1代的 CI

现阶段的 CI 是以 CI 服务器为管理中心。CI 服务器负责发现修改并开启每日任务。

新1代的 CI 则是以编码 review 系统软件为关键,这样能够确保在修改合拼到版本号管理方法系统软件以前进行相应的实际操作。

是不是添加精英团队的编码 review 的全过程,这取决于你。我明显提议根据编码 review 来提升编码的品质,可是这与 CI 系统软件自身是单独的。大家必须强调的是,搭建和检测这些个人行为是由编码 review 系统软件的新递交来开启的。当全部检测都根据后,编码才会被合拼到主杆上。这般1来,主杆的编码一直能够确保是检测根据的,开发设计人员还可以并行处理的开展编码递交。新的 CI 管理体系可让你的全自动化变得顺畅,由于已不有难题会堵塞步骤。

OpenStack 的工作中步骤

CI上的新的方式早已在 OpenStack 新项目中获得大经营规模的完成,1次来管理方法全部不一样的子新项目的CI全过程。以便使你对它的经营规模有1个定义,能够看到每日 OpenStack 都要解决 1000 个递交的补钉包,7500条递交的相关于Gerrit的评价和网络投票, 催生出16,000 个检测自然环境,也有250次变动的合拼(源码)。

以便完成下1代的CI系统软件,OpenStack新项目应用下面这些组件:

Gerrit, 编码核查和git資源库管理方法器。

Zuul, git编码库操纵系统软件。

Jenkins, 不断集成化服务器。

Nodepool, 布署在OpenStack云上的智能化的 Jenkins 衍生专用工具。

这些专用工具根据应用任意推论的合拼对策来完成在同1个新项目上的并行处理检测。假如同1時间在同1新项目之上产生了数次评审,Zuul就可以够以任意推论的方法将它们放到1起来对它们开展检测。比如,添加评审被取名为A、B和C,那末Zuul可能并行处理的对 A、A+B和A+B+C开展检测。假如她们都取得成功了,那末就早已跟A历经了检测并开展了合拼实际效果是1样的了,随后B在支系(A)的基本上历经了检测随后开展了合拼,C在A+B的基本之上也同此理。 这样当你同1个新项目有好几个编码奉献者时,集成化的全过程会加快很多。

Zuul 还能管理方法跨好几个新项目的依靠,容许資源库间评审的合拼。这在git中是个重要的物品,由于在git中你的组件存在于不一样的git資源库中。

试1试

针对大的精英团队乃至是小的精英团队来讲,你都可以以根据配备前述的组件来使新项目获益于这1工作中步骤。Puppet 控制模块就可以用来轻轻松松的配备这些服务。

此外1种方式便是应用大家自身对这些服务的集成化,叫做手机软件加工厂。你可能得到下面这些作用特点:

对这些作用做了1个非常好集成化的1个 web 菜单。

1个在全部这些服务间轻轻松松开展多点登陆的计划方案,也有在 LDAP、GitHub 或登陆面饭(cauth)上的外界验证计划方案。

1个bug追踪系统软件(Redmine). 合作专用工具: 用于共享资源輸出或编码提取的 Paste。 用于合作编写的 Etherpad。

以1种简易的方法管理方法从以前版本号的升級。

由于手机软件加工厂是自代管的(大家应用手机软件加工厂来开发设计手机软件加工厂), 你能够在 softwarefactory-project.io 上对它开展掌握。

假如你要想检测驱动器的手机软件加工厂,要是按 softwarefactory-project.io/docs/deploy.html 上的文本文档照做就可以了。

你能够就应用这1新的方式开展 CI 的获得同大家维持沟通交流。

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信

在线咨询
联系电话

400-888-8866