如何理解持续集成?

发布于 2022-09-01 07:36:18 字数 89 浏览 22 评论 0

看了一些资料对持续集成的概念还是有些模糊
如何理解“持续”和“集成”这两个词语?
另外,php有哪些持续集成工具?大家又都是怎样实现持续集成的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半衬遮猫 2022-09-08 07:36:18

大体上的过程是这样的

首先要有一个git服务器,如我们用的是github企业版。我们的代码就这样集成了。

因为我们的测试是开发人员自己的,所以我们会有一个CI,就是持续集成。CI会定时检测git服务器上的代码,当有新的提交的时候,CI就会自动运行。然后,会运行所有测试,自动测试,如用Selenium 在浏览器上测试。如果测试通过,就发布新的包。

因为我们组里面大概每天会提交代码至少三次,这取决于组里人数等等。所以在一个迭代,(两星期)会发布几十个包。。

故所谓的集成是经常提交代码到master,持续则是指经常性的。

Ci可以用bamboo,jerkins 等等。

持续集成只是持续交付的一部分。

相关书籍可以参考: 《持续交付:发布可靠软件的系统方法》

可以用github和Travis CI进行练习。参考 http://www.phodal.com/blog/use-github-grow-self/

故乡的云 2022-09-08 07:36:18

先说“集成”,举个栗子,系统有A、B两个模块,分别是甲、乙两个人在开发,当两人吭哧吭哧开发了1个月终于把各自的功能都完成了,这时需要把AB模块集成起来,但一集成就发现各种问题,编译报错,部署不了,测试发现bug,这些Bug不知道是A模块还是B模块的,这就是传统集成的问题。

集成包括代码的合并,编译完成,成功部署,测试通过,1个bug的修复代价随着发现的时间呈指数增长,比如bug在代码检入后就发现可能花几分钟就解决了,但等到了上测试环境或者生产环境可能要花几天甚至几个月的时间,所以越早进行集成就可以越早的发现问题。

“持续集成”指的是频繁地进行集成,从以前的每日集成到现在一天进行几次到几十次的集成都是持续集成。最简单的持续集成可以是一台旧电脑,每人提交完代码就到电脑那合并一下代码,然后编译,部署,跑一下测试,测试通过了就表示集成成功了。这里有篇文章可以看下:http://www.jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Da...

当然现在有很多自动化集成工具,比较著名是Jenkins,有很多插件可以结合使用,包括支持PHP的一些插件。

泼猴你往哪里跑 2022-09-08 07:36:18

市面上有很多持续集成 CI 工具,可以将其分为 Hosted CI 和 Self Hosted CI:

  • Self HostedCI 指的是将软件部署在公司的机房或内网中,需要提供多台服务器来完成 CI 系统的运转,同时需要对不同机器之间进行环境配置。主流工具有Jenkins,其他受欢迎的工具比如 Bamboo 及 TeamCity 等。

  • Hosted CI 指的是由 SaaS 型的 CI 服务,全程在线进行构建配置,不需要考虑装机器,装软件,环境搭建等成本。常见的有 CircleCI,Codeship 和 TravisCI 等。

对比一下这两种 CI 服务:

  • Self Hosted CI 对构建环境有完全的控制权,能够实现完全定制。但需要搭建环境和配置、维护成本高,需要买专门的机器,花费人力物力且更新迁移风险高;

  • Hosted CI 无需额外机器,几分钟就可以用起来。可以根据你的需要动态调度资源。省时,省心,省力。

flow.ci 是一款 Hosted CI 工具,它是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。1 分钟即可完成开发测试环境搭建,开启第一个Build。

可以去试试 >>https://flow.ci/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文