Docker与CI持续集成/CD持续部署

作者:Petter Liu 出处:http://www.cnblogs.com/wintersun/

背景

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。

Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

Cloudify是一个云应用的编排系统,可让你的应用自动化的在各种不同的云上方便的部署。

正题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

Oracle 12c数据库升级实战(r10笔记第70天)

昨天晚上睡觉前升级了一套备库环境,比我想象的时间要长一些,下午就要升级测试环境,早上还在做最后的方案,感觉真是惊心动魄。 升级的过程让我有了两种感触,刚开始的做...

38070
来自专栏ytkah

小程序支持连Wi-Fi,代码包到4M

小程序又开发新能力了:1 更多硬件连接功能等着你。在商场等场所,用户以往要用微信连Wi-Fi,要扫二维码并关注公众号,点击菜单里的“连Wi-Fi”才能使用上网络...

45770
来自专栏沃趣科技

数据库容器化|未来已来

导语:“你不是不够好,你只是过时了”这句话用到 IT 行业特别合适,每隔一段时间都会有新的技术出现, 让码农们应接不暇。借着回顾DBA工作中的几个时期,跟大家分...

55960
来自专栏杨建荣的学习笔记

一次数据库响应缓慢的问题排查(r2第9天)

今天客户说有一个job跑的特别慢。想看看到底是不是数据库这边有什么问题了。 使用top来查看,io wait奖金30%,已经算是负载比较重的了。 image.p...

37240
来自专栏Debian社区

新一代 CI 持续集成工具 flow.ci 正式开源

很高兴地宣布 flow.ci 在 Apache-2.0 协议下正式开源了。flow.ci 是国内首套开源持续集成(CI) 解决方案,帮助企业团队实现开发流程(b...

19020
来自专栏聊high云的专栏

腾讯云高可用和容灾解决方案

实现业务连续性的技术手段通常包括高可用性和灾备恢复两种,所以本文讲述的是在腾讯云上实现业务连续性的解决方案。

3.3K200
来自专栏EAWorld

容器时代的DevOps部署

本文目录: 一、企业应用的部署发展 二、普元容器云与DevOps的部署设计 三、面向微服务的部署设计 四、容器组装化部署 五、容器云集成之路 六、结语 一、企业...

66970
来自专栏企鹅号快讯

微信更新到版本了,带来了哪些抢眼的功能呢?

在新年前夕,微信又放出了大招,更新了6.6.1版本,而且这次是安卓、iOS同时更新,并带来了3个新的功能: ? 新增小游戏 除了最近备受大家宠爱的“跳一跳”。在...

23390

为什么说Linux容器对于物联网而言很重要

Linux容器已成为云开发和部署工作流中的标准工具。使用它的好处有很多,包括跨平台的可移植性,最小的开销,以及开发人员对他们代码运行方式的更多控制。容器的普及率...

51660
来自专栏GreenLeaves

Unity系列之简介

Unity的目标是为了提升"依赖注入"的思想,去建立更加松耦合的系统.patterns & practices 小组在那个时候实现DI的方式和我们现在认为的DI...

37450

扫码关注云+社区

领取腾讯云代金券