Docker 与 CI 持续集成 CD
背景
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖
包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现
虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常
集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发
生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)
来验证,从而尽早地发现集成错误。
持续部署(continuous deployment)是通过自动化的构建、测试和部署循环来
快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,毕竟
快速运转的互联网公司人力成本会高于机器,投资机器优化开发流程化相对也
提高了人的效率,让 engineering productivity 最大化。
OpenShift是红帽的云开发平台即服务(PaaS)。自由和开放源码的云计算平
台使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到
云中。Openshift 广泛支持多种编程语言和框架,如 Java,Ruby 和 PHP 等。
另外它还提供了多种集成开发工具如 Eclipse integration,JBoss Developer
Studio 和 Jenkins 等。OpenShift 基于一个开源生态系统为移动应用,数据库
服务等,提供支持。
Cloud Foundry是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种
框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进
行应用程序的部署和扩展,无需担心任何基础架构的问题。同时,它本身是一
个基于 Ruby on Rails 的由多个相对独立的子系统通过消息机制组成的分布式
系统,使平台在各层级都可水平扩展,既能在大型数据中心里运行,也能运行
在一台桌面电脑中,二者使用相同的代码库。
Heroku作为最开始的云平台之一,从 2007 年 6 月起开发,当时它仅支持
Ruby,但后来增加了对 Java、Node.js、Scala、Clojure、Python 以及(未记
录在正式文件上)PHP 和 Perl 的支持。基础操作系统是 Debian,在最新的堆
栈则是基于 Debian 的 Ubuntu。
评论0
最新资源